插入多行时,MySql自动递增不起作用

时间:2017-01-23 05:46:23

标签: mysql auto-increment

我在MySql数据库表中插入多行,第一行正在插入但是为了剩下它显示错误:

[Error: ER_DUP_ENTRY: Duplicate entry '2' for key 'PRIMARY']
  code: 'ER_DUP_ENTRY',
  errno: 1062,
  sqlState: '23000',
  index: 1,

这是id字段的结构:

enter image description here

如果我插入一行自动增量工作文件。

我无法纠正这个问题。请帮忙。感谢。

修改

我正在使用node-rom2,代码是

modelObj.create(arrayOfObjects, function (err, result) {
      if (err) {
         console.log("The error is :", err);
      }
      else {
         response.status = 'success';
         response.data = result;
      }
    next(response);
});

SQL查询是动态生成的。

1 个答案:

答案 0 :(得分:0)

现在我得到了解决方案,我正在做的错误是我使用这样的for loop生成数据:

var data = { name:'john', age:24, email:'abc@abcd.com'};

var arrayOfObjects= [];

for (var i = 0; i < 4; i++){
   arrayOfObjects.push(data);
}

modelObj.create(arrayOfObjects, function (err, result) {
      if (err) {
         console.log("The error is :", err);
      }
      else {
         response.status = 'success';
         response.data = result;
      }
    next(response);
});

所以在这种情况下每条记录都相同。但是,除id之外的列没有属性primary-key我认为它可能是数据库的行为,或者node-orm2也可能是的原因,因此它不接受完全相同的值。

实际上,所有记录都不一样。如果您有其他观点,请告诉我您的想法。感谢。