「id」値に基づいて特定の変数を削除したい。しかし、以下のコードは近くに構文エラーを表示しています: OFFSET 1. DELETE の代わりに SELECT を使用する同様のコードを使用し、正常に動作します。ありがとう
DELETE FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1 OFFSET 1
「id」値に基づいて特定の変数を削除したい。しかし、以下のコードは近くに構文エラーを表示しています: OFFSET 1. DELETE の代わりに SELECT を使用する同様のコードを使用し、正常に動作します。ありがとう
DELETE FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1 OFFSET 1
DELETE の LIMIT 句にオフセットを指定することはできません。
簡単な使用:
DELETE FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1;
試す
DELETE FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1,1
DELETEクエリで OFFSET を使用することはできません。
のオフセット コンポーネント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