代码const timeIv = req.body.time const field = 'time' const values = timeIv.map(inerval => `('${inerval}')`).join(','); const sql2 = `INSERT INTO ${name} (${field}) VALUES ${values}`;能否优化
时间: 2023-12-19 08:05:49 浏览: 77
可以优化,可以使用MySQL的bulk insert语法,将多个数据一次性插入。具体实现如下:
```
const timeIv = req.body.time;
const values = timeIv.map(inerval => [inerval]);
const sql2 = `INSERT INTO ${name} (time) VALUES ?`;
connection.query(sql2, [values], (err, result) => {
if (err) throw err;
console.log(result);
});
```
这样可以减少与数据库的交互次数,提高性能。同时,注意在values数组中每个元素是一个数组,对应一个数据项。在执行bulk insert语句时,需要将values数组作为参数传入,使用问号占位符表示。
阅读全文