我试图将一个巨大的用户列表插入到MySQL数据库中,但每次try 都会收到错误:

#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','','');

推荐答案

除了萨贝的回答之外:

第一列id是主键

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

Database相关问答推荐

如何在维护数据库模型的同时从Firestore中删除文档?

MongoDB根据嵌套文档中的值匹配数组

将数据集上传到 Hub 时停止运行时会导致什么?

PostgreSQL - 按时间戳值分组?

如何允许多个用户同时连接到我的 H2 数据库?

数据验证是否应该在数据库级别进行?

在插入数据库之前而不是在输出时转义 HTML 是不是一个坏主意?

有没有办法在一个脚本中创建多个触发器?

将 Android Room 数据库与 Firebase 实时数据库相关联

执行语句还是运行脚本?

在 SQL Server 中,如何以类似于 Oracle 的SELECT FOR UPDATE WAIT的方式锁定单行?

如何在远程服务器上备份 MySQL 数据库?

SQLite同时读写

MongoDB 和 PostgreSQL 的思考

如何使用 django 判断 postgresql 数据库中是否存在某些内容?

ORM 还是Vietnam of Computer Science吗?

PostgreSQL 的示例数据库

Firebase 排行榜排名

多币种 - 存储什么以及何时转换?

如果值不为空,则用于更新数据库的 Sql 查询?