Perché questa query
DELETE FROM test
WHERE id = ( SELECT id
FROM (SELECT * FROM test) temp
ORDER BY RAND()
LIMIT 1
);
a volte cancellare 1 riga, a volte 2 righe e a volte niente?
Se lo scrivo in questo modulo:
SET @var = ( SELECT id
FROM (SELECT * FROM test) temp
ORDER BY RAND()
LIMIT 1
);
DELETE FROM test
WHERE id=@var;
quindi funziona correttamente - è un problema nella sottoquery?
LIMIT
non è supportato solo per l'utilizzoIN
(<code> sostituito con backticks ~ drachenstern)