我正在尝试将大量用户插入MySQL数据库,但每次尝试我都会收到错误消息:
#1062 - Duplicate entry '' for key 2
Run Code Online (Sandbox Code Playgroud)
它给了我这个,因为第二列在很多条目上都是空白的,所以在第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','','');
Run Code Online (Sandbox Code Playgroud)
Joh*_*ica 19
除了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','','');
Run Code Online (Sandbox Code Playgroud)
如果它是一个自动增量键,这将解决您的问题.
如果没有id自动增量键,并始终插入null其中以触发自动增量.
MySQL有一个设置,只在null插入或插入0和的两个插入时自动增加键null.不要依赖此设置,因为如果更改服务器,代码可能会中断.
如果您插入null代码将始终有效.
请参阅:http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html