我正在使用node.js编写一个HTTP服务器,用于与客户端交互并将它们发送的数据存储到mysql数据库中。我正在使用node-mysql模块与数据库进行交互。以下是我的代码中的代码段:
mysql_conn.query('INSERT INTO systems VALUES ( ? )', [system.ClientID,
system.Application, system['System Information']], function(err, result) {
if (err) {
cb(err, res);
} else {
resData = {Status : 'Success'};
cb(null, res, resData);
}
});
生成的查询如下所示:
INSERT INTO systems VALUES ( 'ED1758FD-1ED7-4907-A4FF-BCA41830124A' )
我正在传递一个包含三个元素的数组,但只有一个元素出现在查询中。文档说:
将数组转换为列表,例如['a','b']变成'a','b'
我做错了吗?我是javascript的新手。如果有的话,请容忍无知。
答案 0 :(得分:1)
如果你有3个变量,应该有3个?
换句话说,您的SQL查询应如下所示:INSERT INTO systems VALUES ( ?, ?,? )
如果您不确定订单,并且想要指定订单,则应将查询更改为以下内容:INSERT INTO systems(field1, field2, field3) VALUES ( ?, ?,? )
其中字段是MySQL表中的实际字段。