Error inserting comma separated values in Table: SQL Server 2008 -
मेरे पास 'टिकट' और 'ticket_category ' नामक दो टेबल हैं । 'टिकट' तालिका में 'Ticket_Uid' कॉलम है और उसका प्रकार 'UniqueIdentifier' है 'टिकट' तालिका में प्रत्येक 'ticket_uid' में 'ticket_category' तालिका में एक-से-कई मैपिंग हैं जैसे
'टिकट' तालिका:
Ticket_Uid 100
Ticket_Category:
Ticket_Uid Ticket_Category_Uid 100 एबीसी 100 डीईएफ़ 100 एक्सवाईजेड
मैं 'comment_mining' नामक निम्न तालिका बनाना चाहता हूं: < / P>
Ticket_Uid श्रेणी_लिस्ट 100 एबीसी, डीईएफ, एक्सवाईजेड
तालिका पहले से ही निम्न का उपयोग कर बनाई गई है:
तालिका बनाएं Dbo.comment_mining (टीटीआई_आईआईडी [अनूइंट डिसाइडरिफायर] नल, टाइम_क्रेटेड डेटटाइम, टाइम_क्लोटेड डेटटाइम, कुल_टाइमटेक इंट, कैटेगरी-सूची एनवर्चार (500), कमेंट लिस्ट varchar (8000));
मैंने पहले से ही इस तालिका को बना दिया है और 'Ticket_Uid' कॉलम को पॉपुल किया है।
'category_list' कॉलम में सम्मिलित करने के लिए, मैं निम्नलिखित प्रश्न का उपयोग कर रहा हूं:
dbo.comment_mining में डालें (category_list) SELECT (चुनें भिन्न कन्वर्ट (varchar (500) ), श्रेणी_आईडी + ',' एएस [पाठ ()] से ticket_category PR WHERE pr.ticket_uid = XML के लिए p.ticket_uid पाथ ('')) के रूप में श्रेणी_सूची से टिप्पणी_मिंगिंग पी
जब मैं उपरोक्त क्वेरी चलाता हूं, यह मुझे निम्नलिखित त्रुटि देता है:
संदेश 515, स्तर 16, राज्य 2, रेखा 1 कॉलम 'Ticket_UID' में मूल्य नल सम्मिलित नहीं कर सकता, तालिका 'Support_Saas.dbo .comment_mining '; स्तंभ नल की अनुमति नहीं देता INSERT विफल रहता है बयान समाप्त कर दिया गया है।
(जो अजीब है क्योंकि मैं 'Ticket_Uid' कॉलम में भी सम्मिलित नहीं हूं)
जब मैं सम्मिलित वक्तव्य के बिना एक ही क्वेरी चलाता हूं, तो यह पूरी तरह से निष्पादित होता है क्वेरी निम्नानुसार है:
SELECT (चयन करें भिन्न कन्वर्ट (varchar (500), category_id), 'as [text ()] ticket_category pr से WHERE pr.ticket_uid = p.ticket_uid
हाँ, वहाँ कुछ नल मान हैं जब उपर्युक्त क्वेरी चलाए जा रहे हैं, लेकिन 'comment_mining' में 'category_list' कॉलम के लिए < / Strong> तालिका शून्य मान ले सकती है 'टिकट_यूड' कॉलम में त्रुटि क्यों है?
क्या कोई कृपया यह बता सकता है कि ऐसा क्यों हो रहा है और इसका इलाज क्या है?
पीएस - मैं एसक्यूएल के लिए नया हूं।
आपके पास टेबल पर सम्मिलित त्रुटि है comment_mining < / कोड> इसलिए है क्योंकि आपने
Ticket_Uid
कॉलम को शून्य नहीं
के रूप में सेट किया है; हालांकि, चूंकि इसमें कोई डिफ़ॉल्ट मान नहीं है, इसलिए सम्मिलित विफल हो जाता है क्योंकि आप उस फ़ील्ड को विशेष रूप से सम्मिलित कर रहे हैं या नहीं , जब कोई पंक्ति बनाई जाती है, तो सभी कॉलम भरने होंगे या शून्य
।
आप 2 चीजों में से एक कर सकते हैं:
-
comment_mining की संरचना बदलें
तालिकाडिफ़ॉल्ट
के लिएTicket_Uid
के लिए तालिका है (आप इसे टेबल डिजाइनर में या कोड के साथ कर सकते हैं:
उदाहरण 1:
ऑल्टर टेबल टिप्पणी_मिंगिंग Ticket_UID के लिए प्रतिबंध DF_CommentMining_1 डिफ़ॉल्ट NewID () जोड़ें
- बनाएं आपके सम्मिलन में स्पष्ट रूप से एक टिकट उत्पन्न करने के लिए एसक्यूएल
NewID ()
फ़ंक्शन का उपयोग करके उत्पन्न एकअनन्य पहचानकर्ता
(GUID) मान शामिल है Ticket_UIDUniqueIdentifier
column
उदाहरण 2:
dbo.comment_mining में डालें (Ticket_Uid, category_list) का चयन करें NewID (), [your subquery] ...
दोनों ही मामलों में, अब आप नहीं नल पर प्रतिबंध कर रहे हैं
comment_mining.Ticket_UID
पर, या तो इसे बनाकर स्वचालित रूप से अपने आप को आबाद करें, या एक मूल्य की आपूर्ति करके।
Comments
Post a Comment