我正在使用Node.JS和mysql2模块。基本上就像当我尝试使用JSON格式的数据更新列时,出现以下错误:

{ Error: You have an error in your SQL syntax; check the manual that corresponds
 to your MariaDB server version for the right syntax to use near '"1050":1}WHERE
 `user` = ?' at line 1


格式化的JSON数据:

{"1050":1}


查询:

var sql = 'UPDATE `users` SET `furniture` = ' + 'concat(furniture,' + JSON.stringify(self.furniture) + ')' + 'WHERE `user` = ?';


self.furniture与其他东西有关,但是我可以向您保证self.furniture返回的是JSON数据,因此我得到了mysql语法错误。

sqlMessage: 'You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near \'"1050":

最佳答案

您的查询行部分表示

 ...ingify(self.furniture) + ')' + 'WHERE `us...


右括号后应该有一个额外的空间。

...ingify(self.furniture) + ') ' + 'WHERE `us...


这是有关MySQL语法错误的内容:该消息显示了错误查询,该查询以MySQL无法理解的第一个字符开始。解决此类问题的一种好方法是使用console.log()输出整个查询字符串,然后仔细查看它。通常,您会发现明显的错误。

09-26 13:38