0

「id」値に基づいて特定の変数を削除したい。しかし、以下のコードは近くに構文エラーを表示しています: OFFSET 1. DELETE の代わりに SELECT を使用する同様のコードを使用し、正常に動作します。ありがとう

DELETE  FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1 OFFSET 1
4

4 に答える 4

0

DELETE の LIMIT 句にオフセットを指定することはできません。

簡単な使用:

DELETE  FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1;
于 2012-08-01T12:52:36.147 に答える
0

試す

DELETE  FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1,1
于 2012-08-01T12:52:42.557 に答える
0

DELETEクエリで OFFSET を使用することはできません。

于 2012-08-01T12:53:08.267 に答える
0

のオフセット コンポーネントLIMITは MySQLDELETEステートメントで使用できませんが、ステートメントでは使用できますSELECT

したがって、この事実を回避するためにできることは、実際にDELETE操作でサブセレクトに参加できることです。これにより、目的の結果が得られます。

DELETE a FROM users a
INNER JOIN
(
    SELECT id
    FROM users
    WHERE name = '$name'
    ORDER BY id
    LIMIT 1,1
) b ON a.id = b.id
于 2012-08-01T12:54:52.000 に答える