2012-07-09 35 views
5

मैं MySQL कंसोल में निम्न क्वेरी को क्रियान्वित किया गया है:MySQL: "सीमा 5" का कारण बनता है चेतावनी

INSERT INTO pixel_window 
    SELECT id 
     FROM pixels 
     WHERE pixel_id='type2' 
      ORDER BY id DESC 
       LIMIT 5; 

और मिल गया:

Query OK, 5 rows affected, 1 warning (0.00 sec) 
Records: 5 Duplicates: 0 Warnings: 0 

mysql> SHOW WARNINGS\G 
*************************** 1. row *************************** 
    Level: Note 
    Code: 1592 
Message: Statement may not be safe to log in statement format. 
1 row in set (0.00 sec) 

मैं क्वेरी के साथ एक छोटे से खेला है, और पाया कि LIMIT छोड़ दिया गया है चेतावनी गायब हो जाती है।

इस चेतावनी का क्या अर्थ है? इस सबक्वायरी में LIMIT समस्या क्यों है?

+0

मुझे लगता है कि इस mysql की रीडू लॉग से संबंधित है, दुर्घटना के मामले में वे जो कुछ भी कर रहे हैं उसे स्टोर करते हैं ... तो इस तरह लॉगिंग करने से वसूली (अंतर्ज्ञान) भ्रमित हो सकती है। – Sebas

उत्तर

6

इसे एक बग माना जाता है।

जब आप अपने अपडेट में 'ऑर्डर बाय' क्लॉज परिभाषित नहीं करते हैं तो एक चेतावनी फेंक दी जा सकती है। आपके मामले में, यह सुरक्षित है क्योंकि आप आईडी के आधार पर आदेश माना जाता है (asuming आईडी की एक विशेष आईडी है?)

bugreport यहाँ पर और अधिक पढ़ें: http://bugs.mysql.com/bug.php?id=42415

संबंधित मुद्दे