आइए देखते हैं कि MySQL में #1054 त्रुटि कब होती है। VARCHAR मान डालते समय, यदि आप एकल उद्धरण चिह्न जोड़ना भूल जाते हैं, तो यह त्रुटि उत्पन्न होगी।
त्रुटि उदाहरण
mysql> insert into DemoTable798 values(100,Adam); ERROR 1054 (42S22): Unknown column 'Adam' in 'field list'
इस त्रुटि को ठीक करने के लिए स्ट्रिंग मान के चारों ओर एकल उद्धरण चिह्नों का उपयोग करें:
mysql> insert into DemoTable798 values(100,'Adam');
आइए पहले एक टेबल बनाते हैं:
mysql> create table DemoTable798 ( StudentId int, StudentName varchar(100) ); Query OK, 0 rows affected (0.51 sec)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> insert into DemoTable798 values(100,'Adam'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable798 values(101,'Chris'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable798 values(102,'Robert'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable798 values(103,'Carol'); Query OK, 1 row affected (0.16 sec)
सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> select * from DemoTable798;
यह निम्नलिखिक आउटपुट देगा:
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 100 | Adam | | 101 | Chris | | 102 | Robert | | 103 | Carol | +-----------+-------------+ 4 rows in set (0.00 sec)
त्रुटि के कारण
- बिना उद्धरण के
Adamको MySQL कॉलम नाम समझता है - कॉलम 'Adam' टेबल में मौजूद नहीं है, इसलिए "Unknown column" त्रुटि
- स्ट्रिंग लिटरल के लिए हमेशा एकल उद्धरण (
') का उपयोग करें - दोहरे उद्धरण (
") भी काम करते हैं यदिANSI_QUOTESSQL मोड सक्षम नहीं है
सामान्य परिदृश्य
- स्ट्रिंग लिटरल में उद्धरण भूलना
- गलत कॉलम नाम टाइप करना
- कॉलम जोड़ने से पहले उसका संदर्भ देना
- बैकटिक्स के बिना आरक्षित शब्दों का उपयोग करना