【问题标题】:Node MySQL query syntax error节点 MySQL 查询语法错误
【发布时间】:2014-03-16 21:39:21
【问题描述】:

我正在尝试查询我的数据库,但出现错误:

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual th
at corresponds to your MySQL server version for the right syntax to use near 'gr
oup = 'new_fire', date = '2014-03-16', price = '', customer = '', seller = 'no'
at line 1

但我似乎找不到语法错误。我认为这与我将查询与 nodeMySQL 模块放在一起的方式有关。

这是我的相关节点查询 sn-p:

var salesData = [category, group, date, price, customer, name, commission];

...

connection.query(
'INSERT INTO `officeball`.`sales_entries` SET category = ?, group = ?, date = ?, price = ?, customer = ?, seller = ?, commission = ?',
salesData
)

最后是我要执行的 phpmyadmin 生成的查询:

INSERT INTO `officeball`.`sales_entries` (`sale_id`, `category`, `group`, `date`, `price`, `customer`, `seller`, `accepted`, `commission`, `commission_status`) VALUES ('', 'fire', 'new_fire', '2014-03-16', '123', 'joey bob', 'node user', '', '34', '')

我在节点查询中留下了acceptedcommission_status,它们可以保持空白。

我的查询有误吗?

【问题讨论】:

    标签: javascript mysql node.js node-mysql


    【解决方案1】:

    group 是 mysql 保留关键字,用反引号括起来,如下所示:

       INSERT INTO `officeball`.`sales_entries` SET category = ?, `group` = ? .....
    

    这是文档中的reserved keywords

    【讨论】:

    • 啊。我永远不会发现这一点。亲爱的先生,你节省了我很多时间。谢谢!
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 2016-08-05
    • 2015-09-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多