2010-07-28 16 views
9

मैं एकाधिक पंक्ति प्रविष्टियों को करने का एक तरीका ढूंढ रहा हूं जब मैं केवल एक कॉलम के लिए डेटा डाल रहा हूं।MySQL: एक कॉलम के लिए एकाधिक सम्मिलन

+-------+-------------+------+-----+---------+----------------+ 
| Field | Type  | Null | Key | Default | Extra   | 
+-------+-------------+------+-----+---------+----------------+ 
| id | tinyint(4) | NO | PRI | NULL | auto_increment | 
| name | varchar(40) | NO | UNI | NULL |    | 
+-------+-------------+------+-----+---------+----------------+ 

मैं नाम में ('व्यवस्थापक', 'लेखक', 'आधुनिक', 'उपयोगकर्ता', 'अतिथि') की तरह कुछ डालने के लिए सक्षम होना चाहते हैं:

यहाँ उदाहरण तालिका है प्रत्येक पंक्ति के लिए कॉलम।

MySQL प्रलेखन पता चलता है कि अनेक निवेशन प्रारूप में होना चाहिए:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9); 

हालांकि मेरे बयान इस तरह लग रही समाप्त होता है:

INSERT INTO User_Role(name) VALUES ('admin','author','mod','user','guest'); 

और मैं मिल निम्नलिखित:
त्रुटि 1136 (21 एस 01): कॉलम गिनती पंक्ति 1

पर मूल्य गणना से मेल नहीं खाती है मतलब यह है कि ऐसा लगता है कि मैं एक सी करने की कोशिश कर रहा हूं नल पंक्ति डालें।

मुझे यकीन नहीं है कि मैं यहां कुछ आसान याद कर रहा हूं, लेकिन मुझे इस उपयोग के मामले में विशेष रूप से MySQL दस्तावेज़ों में कुछ भी नहीं दिखाई देता है।

उत्तर

18

आपका वाक्यविन्यास थोड़ा सा है। प्रत्येक डेटा "सेट" (जिसका अर्थ है इस मामले में एक मान) के चारों ओर कोष्ठक डालें जिसे आप सम्मिलित करने का प्रयास कर रहे हैं।

INSERT INTO User_Roll(name) VALUES ('admin'), ('author'), ('mod'), ('user'), ('guest'); 
+0

आह, धन्यवाद! मल्टी डालने वाक्यविन्यास के साथ पहली बार काम करते हैं। एक बार यह मुझे स्वीकार करने के बाद स्वीकार करेगा – tsgrasser

+1

आपको यह भी पता होना चाहिए कि यह एमएसएसक्यूएल में काम नहीं करता है। MySQL और कुछ अन्य एकाधिक प्रविष्टियों का समर्थन करते हैं, लेकिन पिछली बार मैंने SQL सर्वर का उपयोग किया था, यह वाक्यविन्यास स्वीकार नहीं किया था। –

+0

मुझे पता है कि यह एक बहुत पुराना जवाब है, लेकिन सिर्फ सोचा कि मैं उल्लेख करता हूं कि संस्करण 2008 के रूप में, यह एमएसएसक्यूएल में भी काम करता है। – user1751825

0

मैं आपको सलाह दूंगा कि कॉलम में एकाधिक मान न डालें। एक नई तालिका बनाएं:

 INSERT INTO table_name (id, name) VALUES (1, 'name1'), (1, 'name2'), (1, 'name3'), (1, 'name4'); 
संबंधित मुद्दे