Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

इसे निष्पादित किए बिना mysql त्रुटियों का पता लगाएं

EXPLAIN यदि आप MySQL 5.6 या इससे अधिक का संस्करण चला रहे हैं तो यह चाल है।

explain update whatever;

यदि क्वेरी ठीक है, तो यह निष्पादन योजना दिखाती है। अन्यथा, यह सिंटैक्स त्रुटि देता है।

यदि आप MySQL का कम संस्करण चला रहे हैं, तो मुझे कुछ विकल्प दिखाई दे रहे हैं:

  1. अनुशंसित विकल्प :एक परीक्षण डेटाबेस तैयार रखें जो आपके उत्पादन डेटाबेस को प्रतिबिंबित करे कम से कम संरचना में . आदर्श रूप से यह सत्यापित करने के लिए परीक्षण डेटा के साथ पॉप्युलेट किया गया है कि क्वेरी न केवल वाक्य रचनात्मक रूप से सही है; लेकिन यह उम्मीद के मुताबिक काम करता है
  2. क्वेरी को TRANSACTION जिसे तुरंत वापस ले लिया जाता है।
  3. क्वेरी का ऐसा संस्करण चलाएँ, जिसे NO ROWS से मेल खाने के लिए थोड़ा संशोधित किया गया हो।

उदाहरण के लिए:

update table set col1 = @val1 where col2 = @val2;

बन जाता है:

update table set col1 = @val1 where (col2 = @val2) and 1=0;

इसलिए, यदि आप 5.6 या अधिक चला रहे हैं, तो EXPLAIN चाल साफ है। यदि नहीं, तो सूची में से विकल्प 2 और 3 भी नीट (ईश) ट्रिक्स हैं। लेकिन, आपको आम तौर पर विकास की मार झेलनी चाहिए आपके इन-डेवलपमेंट . के साथ सर्वर वैसे भी प्रश्न।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INDEXes का उपयोग क्यों और कहाँ करें - पक्ष और विपक्ष

  2. MySQL सेमीसिंक्रोनस प्रतिकृति में डेटा अखंडता और प्रदर्शन संबंधी विचार

  3. उपयोगकर्ता आईडी की सूची संग्रहीत करने का सर्वोत्तम तरीका

  4. SSH टनल पर MySQL सर्वर को दूरस्थ रूप से एक्सेस करें

  5. केवल चर को संदर्भ द्वारा पारित किया जाना चाहिए ... लाइन 13 पर विफल