Kenapa kueri ini
DELETE FROM test
WHERE id = ( SELECT id
FROM (SELECT * FROM test) temp
ORDER BY RAND()
LIMIT 1
);
kadang menghapus 1 baris, kadang 2 baris dan kadang tidak sama sekali?
Jika saya menulisnya di formulir ini:
SET @var = ( SELECT id
FROM (SELECT * FROM test) temp
ORDER BY RAND()
LIMIT 1
);
DELETE FROM test
WHERE id=@var;
lalu bekerja dengan benar - apakah ada masalah dalam subquery?
LIMIT
tidak didukung hanya untuk menggunakanIN
(<code> diganti dengan backticks ~ drachenstern)