Javascript 来自节点Js的MySql插入错误

Javascript 来自节点Js的MySql插入错误,javascript,node.js,Javascript,Node.js,我有一个MySQL表,如下所示: var query = connection.query('INSERT INTO `order` SET ?', data, function(err,rows) { if (err) console.log("Error inserting : %s ",err ); res.render('createorder', {title :"Order Created Successfully"}); }); 下面是我尝试将

我有一个MySQL表,如下所示:

var query = connection.query('INSERT INTO `order` SET ?', data, function(err,rows) {
    if (err)
        console.log("Error inserting : %s ",err );

    res.render('createorder', {title :"Order Created Successfully"});
});

下面是我尝试将数据插入mysql表的代码:

var data = {
    id          : 1,
    custname    : input.custname,
    custemail   : input.custemail,
    ordertype   : input.ordertype,
    noorder     : input.noorder,
    orderdate   : input.orderdate
};

var query = connection.query('INSERT INTO order SET ?', data,      function(err,rows) {
    if (err)
        console.log("Error inserting : %s ",err );

    res.render('createorder', {title :"Order Created Successfully"});
});
但是给了我以下的错误:

INSERT INTO order SET `id` = 1, `custname` = 's', `custemail` = 's@gmail.com', `ordertype` = 'Chalbhaja', `noorder` = 2, `orderdate` = '2015-07-24T16:07:58.684Z'
Error inserting : Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order SET `id` = 1, `custname` = 's', `custemail` = 's@gmail.com', `ordertype` =' at line 1               

在MySQL中,
order
word是一个关键字。但是,可以有一个名为
order
的表。您只需在查询中转义它,如下所示:

var query = connection.query('INSERT INTO `order` SET ?', data, function(err,rows) {
    if (err)
        console.log("Error inserting : %s ",err );

    res.render('createorder', {title :"Order Created Successfully"});
});

看起来您的节点正在使用mysql。您可能应该在mysql查询中单独设置每一列,即custname=?。我从未尝试过用这种方式使用这个库,我看到了很多这样的例子。但它不适用于mecan you console.log(query.sql)并手动运行该sql?