我像这样在数据库中插入一条记录
connection.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "INSERT INTO xtable (x_date, x_time, x_text) VALUES ('2018-05-26', '23:00:00', 'blablabla')";
connection.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
connection.end();
});
});
上面的工作,但让我们说我做
var ytime = '19:00:00';
var ydate = '2018-05-29';
var ytext = 'blabla';
connection.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "INSERT INTO xtable (x_date, x_time, x_text) VALUES (ydate, ytime, ytext)";
connection.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
connection.end();
});
});
我该怎么做?这只给出了错误我的节点是v8.10.0
2条答案
按热度按时间7fyelxc51#
您只需将数据切换为使用占位符值,然后分别添加数据:
node和mysql需要注意的一点是,sequelize之类的工具使这变得容易得多。任何支持承诺和
async
/await
几乎总是没有一系列嵌套回调那么麻烦。px9o7tmv2#
后者不起作用,因为sql语句没有将ydate、ytime、ytext解释为变量,而是作为字符串的一部分。如果要将语句和数据分开,应执行以下操作: