如何使用 node.js 在 mySQL 中进行批量插入

2021-11-20 00:00:00 node.js mysql

如果使用类似的东西,如何将批量插入到 mySQL 中https://github.com/felixge/node-mysql

How would one do a bulk insert into mySQL if using something like https://github.com/felixge/node-mysql

推荐答案

使用嵌套数组可以实现批量插入,参见 github 页面

Bulk inserts are possible by using nested array, see the github page

嵌套数组变成分组列表(用于批量插入),例如[['a', 'b'], ['c', 'd']] 变成 ('a', 'b'), ('c', 'd')

Nested arrays are turned into grouped lists (for bulk inserts), e.g. [['a', 'b'], ['c', 'd']] turns into ('a', 'b'), ('c', 'd')

您只需插入一个嵌套的元素数组.

You just insert a nested array of elements.

一个例子在这里

var mysql = require('mysql');
var conn = mysql.createConnection({
    ...
});

var sql = "INSERT INTO Test (name, email, n) VALUES ?";
var values = [
    ['demian', 'demian@gmail.com', 1],
    ['john', 'john@gmail.com', 2],
    ['mark', 'mark@gmail.com', 3],
    ['pete', 'pete@gmail.com', 4]
];
conn.query(sql, [values], function(err) {
    if (err) throw err;
    conn.end();
});

注意:values是包裹在数组中的数组

Note: values is an array of arrays wrapped in an array

[ [ [...], [...], [...] ] ]

还有一个完全不同的node-msql包用于批量插入

There is also a totally different node-msql package for bulk insertion

相关文章