mysql批量操作改怎么处理?
发布于 7 年前 作者 xiuxu123 10167 次浏览 最后一次编辑是 4 年前

项目(nodejs)中需要一次性插入多笔数据到数据库,数据库是mysql的,我看了mysql的说明,没有批量的例子,难道是要我写个for循环一次次的插入吗?大家有没有好的想法?

9 回复
var values = [
[1,2,4],
[5,1,7]
];

var sql = "INSERT INTO xxx(a,b,c) VALUES ?";

mysql.query(sql, [values], function (err, rows, fields) {
    callback(err, rows);
});

谢谢你!这个问题我解决了,其实我的问题比这个还稍微复杂些,我操作的是多张表。而且还要使用事务处理,不过已经解决了!谢谢你了!

可以分享一下解决方式吗

这里有详细的记录,你可以看下。 http://www.cnblogs.com/Dn8x/p/3567816.html

@xiuxu123显示"您访问的资源不存在"

@asoedarren 不好意思,博客园上面的地址我改了,新地址:http://www.cnblogs.com/Dn9x/p/3567816.html

您好,如果我想得到insert进去的 自增的ID 应该怎么做?

{ fieldCount: 0,
  affectedRows: 4,
  insertId: 61,
  serverStatus: 2,
  warningCount: 8,
  message: '&Records: 4  Duplicates: 0  Warnings: 8',
  protocol41: true,
  changedRows: 0 }

现在得到的是这个,不过我想要insert进去的每个id

@supersylar 自增ID在mysql建表的时候,增加AUTO_INCREMENT

CREATE TABLE t_abc ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(12) NOT NULL ) ENGINE=INNODB;

返回值,通过insert的callback就可获得了。

回到顶部