このクエリを実行する理由
DELETE FROM test
WHERE id = ( SELECT id
FROM (SELECT * FROM test) temp
ORDER BY RAND()
LIMIT 1
);
時には1行、時には2行、時には何も削除しませんか?
この形式で書いた場合:
SET @var = ( SELECT id
FROM (SELECT * FROM test) temp
ORDER BY RAND()
LIMIT 1
);
DELETE FROM test
WHERE id=@var;
それは正しく動作します-サブクエリに問題はありますか?
LIMIT
使用のみサポートされていませんIN
(<code> backticks〜drachensternに置き換えられました)