mysql批量操作改怎么处理?
项目(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
@xiuxu123謝謝~
您好,如果我想得到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就可获得了。