我正在尝试将大量用户列表插入MySQL数据库,但是每次尝试都出现错误:
#1062 - Duplicate entry '' for key 2
之所以这样,是因为第二列在很多条目上都是空白的,因此在第二列中插入一个空白条目后,就不会再添加另一个了。但是,当我昨天添加了大多数列表时,即使昨天添加的很多条目在第2列中也有一个空白单元格,我也没有一次收到此错误。这是怎么回事?
这是插入1个条目的sql代码。其余的遵循相同的格式:
INSERT INTO users (`id`,`title`,`firstname`,`lastname`,`company`,`address`,`city`,`county` ,`postcode`,`phone`,`mobile`,`category`,`email`,`password`,`userlevel`) VALUES ('','','John','Doe','company','Streeet','city','county' ,'postcode','phone','','category','emial@email.co.uk','','');
除了Sabeen的答案:
第一列ID是您的主键。 不要插入''主键,而是插入null。
''
INSERT INTO users (`id`,`title`,`firstname`,`lastname`,`company`,`address`,`city`,`county` ,`postcode`,`phone`,`mobile`,`category`,`email`,`password`,`userlevel`) VALUES (null,'','John','Doe','company','Streeet','city','county' ,'postcode','phone','','category','emial@email.co.uk','','');
如果它是自动增量键,则可以解决您的问题。 如果不是,请创建id一个自动增量键,并始终将null其插入以触发自动增量。
id
null
MySQL有一个设置自动增量键仅在null插入或两个刀片0和null。不要指望此设置,因为如果更改服务器,代码可能会中断。 如果您插入null您的代码将始终有效。
0