यह प्रश्न क्यों करता है
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> बैकटिक के साथ बदल दिया ~ drachenstern)