我收到了这个请求:
"START TRANSACTION; DELETE FROM `awaiting_auth` WHERE `code` = '06b8465eed00727a1eac49fae89b88f876ded2eb' LIMIT 1; INSERT IGNORE INTO `prsn` SET `login` = 'new_user', `passwd` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef', `color` = '#cbc5f2'; COMMIT;"
我收到此错误:
“您的SQL语法有错误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'DELETE FROM awaiting_auth WHERE code = '06b8465eed00727a1eac49fae89b88f876de'在第1行“。
然而,当通过终端执行sql时,一切顺利,不会抛出任何错误 我的要求有什么问题?提前谢谢。
答案 0 :(得分:2)
您必须在单独的> query()调用中拆分查询。 SQL控制台会自动执行此操作。 E.g。
->query("START TRANSACTION");
->query("DELETE FROM...");
答案 1 :(得分:0)
每个查询一个操作。因此,您需要将查询拆分为单个查询。
答案 2 :(得分:0)
只需逐个运行这些查询,而不是单个数据包。
答案 3 :(得分:0)
尝试单独执行每个语句:
START TRANSACTION;
DELETE FROM `awaiting_auth` WHERE `code` = '06b8465eed00727a1eac49fae89b88f876ded2eb' LIMIT 1;
INSERT IGNORE INTO `prsn`(`login`, `passwd`, `color`) VALUES('new_user','40bd001563085fc35165329ea1ff5c5ecbdbbeef', '#cbc5f2');
COMMIT;