一尘不染

MySQL错误-#1062-密钥2的重复条目''

mysql

我正在尝试将大量用户列表插入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','','');

阅读 311

收藏
2020-05-17

共1个答案

一尘不染

除了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其插入以触​​发自动增量。

MySQL有一个设置自动增量键仅在null插入或两个刀片0null。不要指望此设置,因为如果更改服务器,代码可能会中断。
如果您插入null您的代码将始终有效。

参见:http
//dev.mysql.com/doc/refman/5.0/en/example-auto-
increment.html
2020-05-17