mysql配合node 配置项
使用批量操作需要开启 multipleStatements 配置
let mysql = require('mysql');
let connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '密码',
database: '数据库名',
multipleStatements: true,
});
mysql配合node实现批量添加 实现代码入下
let aGetRouterListMsqs = async (data, Callback) => {
let valuess = [
[0, 'hu1', '2'],
[0, 'ke1', '0'],
[0, 'yi1', '1']
]
let sql = `insert into 表名(id,path,name) value ?`;
connection.query(sql, [data], function (err, result) {
console.log(err,result)
});
connection.end()
}
mysql配合node实现批量删除 实现代码入下
let deleteAll = async (data, Callback) => {
let sql = `DELETE FROM 表名 WHERE id in (${data})`;
connection.query(sql, function (err, result) {
console.log(err,result)
});
connection.end()
}
deleteAll("00000000002,00000000003,00000000004")
mysql配合node实现批量修改
mysql有个神奇的语法:insert into ... on duplicate key update,该语法在insert的时候, 如果insert的数据会引起唯一索引(包括主键索引)的冲突,即这个唯一值重复了,则不会执行insert操作, 而执行后面的update操作。我们通过这个特性就可以利用批量insert的方法来进行批量更新,代码如下:
let updateAll = async (data, Callback) => {
let arr = [
[0, 'sss', '1221'],
[1, 'sss', '1221'],
[2, 'sss', '1221']
];
let sql = `insert into 表名 (id, name,age) values ? ON DUPLICATE KEY UPDATE formModel= values(name),label= values(age)`;
connection.query(sql, [arr], function (err, result) {
console.log(err,result)
});
connection.end()
}