यह त्रुटि तब होती है जब आप किसी आरक्षित शब्द को तालिका या स्तंभ नाम के रूप में उपयोग करने का प्रयास करते हैं। यह -
. के कारण हो सकता हैकेस 1 :जब भी आप आरक्षित शब्द को तालिका नाम के रूप में प्रयोग करते हैं -
mysql> टेबल इंसर्ट बनाएं−> (−> आईडी int−>);
त्रुटि इस प्रकार है -
ERROR 1064 (42000):आपको अपने SQL सिंटैक्स में त्रुटि है; लाइन 1 पर 'insert(Id int)' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने MySQL सर्वर संस्करण से मेल खाने वाले मैनुअल की जाँच करें।उपरोक्त त्रुटि इसलिए हुई क्योंकि 'इन्सर्ट' शब्द MySQL में एक कीवर्ड है।
केस 2 - जब भी आप MySQL में एक कॉलम नाम के रूप में आरक्षित शब्द का उपयोग करते हैं।
mysql> ग्राहक तालिका बनाएं −> ( −> int −> जोड़ें);त्रुटि इस प्रकार है -
ERROR 1064 (42000):आपको अपने SQL सिंटैक्स में त्रुटि है; लाइन 3पर 'Add int)' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने MySQL सर्वर संस्करण से संबंधित मैनुअल की जाँच करें।उपरोक्त त्रुटि इसलिए हुई क्योंकि 'जोड़ें' कॉलम नाम MySQL में एक आरक्षित शब्द है।
उपरोक्त त्रुटि से बचने के लिए, आपको MySQL के सभी आरक्षित शब्दों के बारे में जानना होगा
कुछ MySQL आरक्षित शब्द इस प्रकार हैं -
InsertAddIsKeyLike आदि।MySQL आरक्षित कीवर्ड की पूरी सूची इस प्रकार है। यह MySQL की आधिकारिक वेबसाइट है - https://dev.mysql.com/doc/refman/5.7/en/keywords.html
इस समस्या को हल करने के लिए आरक्षित कीवर्ड के साथ एक बैकटिक का प्रयोग करें।
नोट - आप टेबल या कॉलम नाम के लिए आरक्षित कीवर्ड का उपयोग नहीं कर सकते। हालांकि, उन्हें बैकटिक के साथ शामिल करना सही माना जाएगा।
उदाहरण के लिए -
टेबल बनाएं `इन्सर्ट`टेबल और कॉलम नाम के साथ बैकटिक का डेमो।
mysql> टेबल बनाएं `इन्सर्ट` −> ( −> `Add` int −> );क्वेरी ओके, 0 पंक्तियां प्रभावित (0.59 सेकेंड)बैकटिक की मदद से आपको कोई त्रुटि नहीं मिलेगी।