中向MySQL添加映射对象?"/>
如何在nodeJS中向MySQL添加映射对象?
这是我第一次创建地图对象,我正尝试将其添加到mysql数据库中,但是出现错误消息:“您的SQL语法有错误;请查看与您的MariaDB相对应的手册服务器版本,以在第1行的'key
='#42343731''附近使用正确的语法“。
地图对象内部元素的示例如下:
Map {
'#44928649' => {
id: '#44928649',
name: '508',
year: '2020',
price: 34800,
included_tax: true,
state: true
},
'#44899990' => {
id: '#44899990',
name: 'yaris',
year: '2018',
price: 17800,
included_tax: true,
state: true
}
}
我的查询如下:
function addNewElement(value, key, map){
connection.query("INSERT INTO test(id, name, year, price, included_tax, status) VALUES ?", {key}, (err, res) => {
if (err) throw err;
console.log("new element: ", res.insertId)
});
}
carsList.forEach(addNewElement);
我认为我没有正确地在查询中添加元素的方法。我还有另一个问题,您是否建议将数组保留在地图的每个键的值之内,还是认为也使它们成为地图更好?
谢谢!
回答如下:{key}
返回您定义的映射的键。即“#44928649”或“#44899990”。
这意味着您的SQL语句如下所示:INSERT INTO test(id, name, year, price, included_tax, status) VALUES '#44928649'
您需要做的是在地图中返回键的值
尝试以下操作:
connection.query("... VALUES ?", key[map], (err, res)...
编辑:
将"... VALUES ?"
更改为"... SET ?"
更多推荐
如何在nodeJS中向MySQL添加映射对象?
发布评论