में स्ट्रिंग से स्ट्रिंग सरणी से कॉलम बदलना निम्नलिखित "कंटेनर" नामक तालिका का एक स्निपेट है।पोस्टग्रेस्क्ल
Column | Type | Modifiers
--------------------+-----------------------------+---------------------------------
id | uuid | not null
name | character varying(255) |
products | character varying | default '{}'::character varying
मैं "character varying[]"
को products
स्तंभ और default '{}'::character varying[]
को इसी संशोधक कैसे बदल सकते हैं? अनिवार्य रूप से, मैं एक स्ट्रिंग को स्ट्रिंग सरणी में कनवर्ट करना चाहता हूं। ध्यान दें कि उत्पाद कॉलम की संख्या वर्णों की कोई सीमा नहीं है।
alter table "containers" alter "products" type character varying[];
निम्न त्रुटि
ERROR: column "products" cannot be cast to type character varying[]
धन्यवाद। हालांकि इस कास्ट त्रुटि को प्राप्त करना - त्रुटि: कॉलम "उत्पादों" के लिए डिफ़ॉल्ट को टेक्स्ट टाइप करने के लिए नहीं बदला जा सकता है [] – papdel
फ़ंक्शन स्ट्रिंग_to_string_array (मूल्य वर्ण भिन्न) को बना या प्रतिस्थापित करें चरित्र अलग-अलग [] भाषा एसक्यूएल $$ सरणी का चयन करें [$ 1] $$; और फिर स्ट्रिंग_to_string_array (उत्पादों) का उपयोग कर तालिका "कंटेनर" में परिवर्तन "उत्पादों" प्रकार भिन्नता [] बदलते हैं; ने भी वही त्रुटि फेंक दी। – papdel
मैं मौजूदा डिफ़ॉल्ट मान को कैसे बदलूं? – papdel