我像这样在数据库中插入一条记录

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

最佳答案

后者不起作用,因为sql语句不会将ydate,ytime,ytext解释为变量,而是字符串的一部分。如果要分隔语句和数据,则应执行以下操作:

var ytime = '19:00:00';
 var ydate = '2018-05-29';
 var ytext = 'blabla';
 var sql = "INSERT INTO xtable (x_date, x_time, x_text) VALUES (?,?,?)";
 connection.query(sql, [ydate,ytime, ytext], function(err,result) {
...
});

关于mysql - 我想在nodejs中的mysql中添加一个变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50590256/

10-10 14:11
查看更多