【发布时间】:2021-12-05 12:47:40
【问题描述】:
我有这个循环遍历用户输入的循环 我想将它们添加到mysql 但我有这个错误不断弹出,说我的查询中有语法错误 我记录了我发送的查询并且很好 回调错误查询和我发的不一样
这是循环
for (var j = 0; j <= intLength - 1; j++) {
console.log(intItem[j], "intents looop");
const query1 =
" INSERT INTO intents (intent, version_id,status_intent) VALUES ('" +
intItem[j] +
"', (SELECT MAX (versions.version_id) from versions), '" +
enableStatus +
"')";
console.log(query1, "query11");
s
connection.query(
query1,
params,
function (err, results) {
if (err) {
console.log(
err,
"error from new project in insert to intents"
);
}
}
);
}
这就是回调错误查询 sql: " INSERT INTO intents (intent, version_id,status_intent) VALUES ('what'test11'', (SELECT MAX (versions.version_id) from versions), 'enable')"
这是确切的错误...
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 'test103'', (SELECT MAX
(versions.version_id) from versions), 'enable')' at line 1",
sqlState: '42000',
index: 0,
sql: " INSERT INTO intents (intent, version_id,status_intent)
VALUES ('what'test103'', (SELECT MAX (versions.version_id) from
versions), 'enable')"
这是连接到数据库之前的查询...
INSERT INTO intents (intent, version_id,status_intent) VALUES
('what?', (SELECT MAX (versions.version_id) from versions),
'enable')
【问题讨论】:
-
您能否将
(SELECT MAX (versions.version_id) from versions)存储在单独的 let 或 const 中并尝试使用该变量,看看是否能解决您的问题。 -
@Sharati 它返回一个 id,而不是字符串或版本名称
-
没关系,试着把结果放在单独的变量里试试。