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

SQL सर्वर त्रुटि 110:INSERT कथन में VALUES खंड में निर्दिष्ट मानों की तुलना में कम कॉलम हैं।

तालिका में डेटा सम्मिलित करते समय त्रुटि संदेश 110 SQL सर्वर में एक सामान्य रूप से सामने आई त्रुटि है। पूरी त्रुटि इस तरह दिखती है:

Msg 110, Level 15, State 1, Line 1
There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

ऐसा तब होता है जब आप INSERT . में कम कॉलम निर्दिष्ट करते हैं VALUES . के साथ आप जितने मानों को सम्मिलित करने का प्रयास कर रहे हैं, उससे अधिक विवरण खंड।

यह तब होगा जब आप गलती से INSERT . से एक या अधिक कॉलम छोड़ दें बयान।

यदि आप इसके विपरीत करने का प्रयास करते हैं तो आपको एक समान (लेकिन तकनीकी रूप से भिन्न) त्रुटि मिलेगी - अधिक निर्दिष्ट करें INSERT . में कॉलम कथन की तुलना में आप सम्मिलित करने का प्रयास करते हैं।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

INSERT INTO Customers (FirstName) 
VALUES ('Bob', 'Brown');

परिणाम:

Msg 110, Level 15, State 1, Line 1
There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

इस मामले में, मैं डेटा डालने के लिए एक कॉलम निर्दिष्ट करता हूं (FirstName ), लेकिन फिर मैं डालने के लिए दो मान निर्दिष्ट करता हूं (Bob और Brown )।

त्रुटि कैसे ठीक करें

आप यह सुनिश्चित करके इस त्रुटि को ठीक कर सकते हैं कि स्तंभों की संख्या सम्मिलित किए जाने वाले मानों की संख्या से मेल खाती है।

मेरे उदाहरण में, मैं या तो सम्मिलित किए जाने वाले मानों में से एक को हटा सकता हूं, या दूसरे मान को पूरा करने के लिए दूसरा कॉलम जोड़ सकता हूं।

तो मैं यह कर सकता था:

INSERT INTO Customers (FirstName) 
VALUES ('Bob');

या यह:

INSERT INTO Customers (FirstName, LastName) 
VALUES ('Bob', 'Brown');

यह उल्लेखनीय है कि यदि अंतिम नाम कॉलम में एक NOT NULL है बाधा, पहला उदाहरण उस बाधा का उल्लंघन करेगा (क्योंकि मैं NULL सम्मिलित करने का प्रयास कर रहा हूँ अंतिम नाम . में कॉलम जब वास्तव में एक NOT NULL है उस कॉलम पर प्रतिबंध)।

यदि तालिका में केवल दो स्तंभ हैं, तो मैं यह भी कर सकता हूं:

INSERT INTO Customers
VALUES ('Bob', 'Brown');

हालांकि यदि संभव हो तो कॉलम नामों को स्पष्ट रूप से बताना बेहतर है (जैसा कि पिछले उदाहरण में है)।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि 28000:pyodbc के साथ DOMAIN\\user उपयोगकर्ता के लिए लॉगिन विफल रहा

  2. एसक्यूएल:बनाम <=और>=. के बीच

  3. वित्त कार्यपालकों को DBA के रूप में अपना महत्व कैसे बताएं

  4. उपलब्धता समूहों पर हमेशा SQL सर्वर की निगरानी करने के विभिन्न तरीके

  5. मैं SQL सर्वर में ऑटो वृद्धि मूल्य के साथ स्ट्रिंग कैसे जोड़ूं?