“sqlMessage”:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法以使用 [重复]
Posted
技术标签:
【中文标题】“sqlMessage”:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法以使用 [重复]【英文标题】:"sqlMessage": "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use [duplicate] 【发布时间】:2020-06-30 02:49:03 【问题描述】: "code": "ER_PARSE_ERROR",
"errno": 1064,
"sqlMessage": "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 'INSERT INTO users(email, first_name, last_name, password, role_id) values(\"swsws' at line 1",
"sqlState": "42000",
"index": 0,
我在 NodeJs 中遇到了这个错误,我尝试对这个查询进行多次插入。查询工作是 phpmyadmin 所以我不知道问题出在哪里。如果可以,请帮助我,我正在尝试修复它几个小时。
let q1= `BEGIN`,
q3= `SET @last_id_in_users = LAST_INSERT_ID()`,
q4= `INSERT INTO sale_targets (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(LAST_INSERT_ID(), '0', '0','0','0','0','0','0')`,
q5= `INSERT INTO close_ratio (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(@last_id_in_users,'0', '0','0','0','0','0','0')`,
q6= `INSERT INTO lead_targets (user_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday) VALUES(@last_id_in_users,'0', '0','0','0','0','0','0')`,
q7= `COMMIT`
let valuesStr = `("$rBody.email", "$rBody.firstName", "$rBody.lastName", "$hash", $roleId)`,
q2 = `INSERT INTO users(email, first_name, last_name, password, role_id) values$valuesStr`,
q = `$q1; $q2; $q3; $q4; $q5; $q6; $q7;`;
【问题讨论】:
你能记录 vars rBody.xxx 和 valueStr 和 q2 和 q,然后发布吗?也许是转义字符串问题?尝试将 rBody.email 设置为“XXX”,并将其他 var firstname、lastName、hash 和 roleId 设置为 1。 【参考方案1】:一次查询一个。你不能用';'连接它们
【讨论】:
以上是关于“sqlMessage”:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法以使用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章