1

私はこのリクエストを受け取りました:

"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 構文にエラーがあります。1 行目の 'DELETE FROM awaiting_auth WHERE code = '06b8465eed00727a1eac49fae89b88f876de' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。」

ただし、ターミナル経由でSQLを実行すると、すべてがうまくいき、エラーはスローされません。
リクエストの何が問題になっていますか? 前もって感謝します。

4

4 に答える 4

2

クエリを別々の ->query() 呼び出しに分割する必要があります。SQL コンソールはそれを自動的に行います。例えば

->query("START TRANSACTION");
->query("DELETE FROM...");
于 2013-08-12T11:10:01.570 に答える
0

クエリごとに 1 つの操作。したがって、クエリを単一のクエリに分割する必要があります。

于 2013-08-12T11:09:40.923 に答える
0

これらのクエリは、単一のパケットではなく、1 つずつ実行してください。

于 2013-08-12T11:09:52.380 に答える
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;
于 2013-08-12T11:11:10.293 に答える