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_UID UniqueIdentifier column

उदाहरण 2:

  dbo.comment_mining में डालें (Ticket_Uid, category_list) का चयन करें NewID (), [your subquery] ...  

दोनों ही मामलों में, अब आप नहीं नल पर प्रतिबंध कर रहे हैं comment_mining.Ticket_UID पर, या तो इसे बनाकर स्वचालित रूप से अपने आप को आबाद करें, या एक मूल्य की आपूर्ति करके।


Comments

Popular posts from this blog

ios - How do I use CFArrayRef in Swift? -

eclipse plugin - Run java code error: Workspace is closed -

c - Error on building source code in VC 6 -