Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में टेबल या कॉलम नाम के रूप में आरक्षित शब्द का उपयोग करते समय होने वाली त्रुटि को कैसे हल करें?

<घंटा/>

यह त्रुटि तब होती है जब आप किसी आरक्षित शब्द को तालिका या स्तंभ नाम के रूप में उपयोग करने का प्रयास करते हैं। यह -

. के कारण हो सकता है

केस 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 सेकेंड)

बैकटिक की मदद से आपको कोई त्रुटि नहीं मिलेगी।


  1. क्या हम आरक्षित शब्द 'इंडेक्स' का उपयोग MySQL कॉलम नाम के रूप में कर सकते हैं?

    हां, लेकिन आपको आरक्षित शब्द (इंडेक्स) में एक बैकटिक प्रतीक जोड़ने की जरूरत है ताकि इसे कॉलम नाम के रूप में उपयोग करते समय त्रुटि से बचा जा सके। आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(`index` int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.48 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रि

  1. "इंडेक्स" नाम के साथ टेबल कॉलम बनाते समय MySQL सिंटैक्स में त्रुटि ठीक करें?

    आप अनुक्रमणिका का उपयोग स्तंभ नाम के रूप में नहीं कर सकते क्योंकि यह एक आरक्षित शब्द है। इसके लिए आपको कॉलम नाम के आसपास बैकटिक्स का उपयोग करना होगा। यदि आप एक आरक्षित शब्द का उपयोग कॉलम नाम के रूप में करेंगे, तो आप निम्न त्रुटि देख सकते हैं- mysql> create table DemoTable    -> ( &n

  1. तालिका नाम के रूप में 'समूह' का उपयोग करते समय MySQL सिंटैक्स त्रुटि (चयन क्वेरी में)

    समूह एक आरक्षित कीवर्ड है, आप इसे तालिका नाम के रूप में उपयोग नहीं कर सकते। इसलिए, इसे तालिका नाम के रूप में उपयोग करने पर त्रुटि होगी। ऐसी त्रुटि से बचने के लिए, आपको तालिका नाम समूह के चारों ओर संलग्न बैकटिक्स प्रतीक का उपयोग करने की आवश्यकता है। आइए अब एक उदाहरण देखें और एक टेबल बनाएं - mysql>