मुझे आश्चर्य है कि एक तालिका में ENUM
मान को बदलना संभव है, ताकि ENUM
मान कहने वाली सभी पंक्तियों में परिवर्तन किया गया हो, परिवर्तन किया गया है कुंआ।एक MySQL ENUM मान के मान को बदलना, एक तालिका के दौरान
उत्तर
आप एक enum का मूल्य बदलना चाहते हैं:
मान लीजिए अपने पुराने enum था:
ENUM('English', 'Spanish', 'Frenchdghgshd', 'Chinese', 'German', 'Japanese')
कि उपयोग बदलने के लिए:
-- Add a new enum value
ALTER TABLE `tablename` CHANGE `fieldname` `fieldname` ENUM
('English', 'Spanish', 'Frenchdghgshd', 'Chinese', 'German', 'Japanese', 'French');
-- Update the table to change all the values around.
UPDATE tablename SET fieldname = 'French' WHERE fieldname = 'Frenchdghgshd';
-- Remove the wrong enum from the definition
ALTER TABLE `tablename` CHANGE `fieldname` `fieldname` ENUM
('English', 'Spanish', 'Chinese', 'German', 'Japanese', 'French');
MySQL शायद सभी के माध्यम से जाना होगा सामानों को अपडेट करने की कोशिश कर रहे आपकी तालिका में पंक्तियां, मैंने इसके चारों ओर एक योजनाबद्ध अनुकूलन की कहानियां सुनाई हैं, लेकिन मुझे यकीन नहीं है कि वास्तव में ऐसा हुआ है या नहीं।
तो आपको लगता है कि MySQL स्वचालित रूप से डेटाबेस के माध्यम से जाएगा और किसी भी बदलाव की आवश्यकता होगी? मैं सोच रहा था कि सेट में नया 'ENUM' मान' जोड़ने के लिए 'ALTER' * * * का उपयोग करने के लिए एक और तरीका होगा, फिर नए मान के साथ पुराने मान की तालिका में किसी भी उदाहरण को प्रतिस्थापित करने के लिए' UPDATE' 'का उपयोग करें। फिर अंत में, पुराने 'ENUM' मान को हटाने के लिए' ALTER' का उपयोग करें। क्या आपको लगता है यह कार्य करेगा? – stefmikhail
एक enum वास्तव में फ़ील्ड में एक स्ट्रिंग को स्टोर नहीं करता है, यह केवल छोटे पूर्णांक का उपयोग करता है जो enum में मानों को रखता है, आमतौर पर tinyint। यदि आप enumql में स्ट्रिंग्स को बदलते हैं तो अक्सर – Johan
पंक्ति में कुछ भी करने की ज़रूरत नहीं है, तो यह सिर्फ इसे पूर्णांक के माध्यम से संबद्ध करता है? – stefmikhail
- 1. एक मान के लिए [ध्वज] enum मान का परीक्षण
- 2. सी # एक अमान्य enum मान
- 3. MySQL में enum मान प्रदान करने के लिए एक तालिका का उपयोग करना?
- 4. निष्पादन समय के दौरान एक चर के मान को बदलना संभव है?
- 5. संदर्भदाता के मान का बदलना
- 6. जावास्क्रिप्ट Enum स्ट्रिंग मान
- 7. एक वीबीए शब्दकोश में सरणी मान बदलना
- 8. एक मान
- 9. कॉफ़ीस्क्रिप्ट और enum मान
- 10. रनटाइम पर enum मान बदलें?
- 11. TSQL, एक तालिका के मान के जोड़े गिनती
- 12. @RequestParam डिफ़ॉल्ट रूप से enum मान को डिफ़ॉल्ट मान
- 13. एक कॉलम mysql में एकाधिक मान डालें?
- 14. XmlSerializer: एक enum मान को Deserialize कैसे करें
- 15. एक ही मान के साथ mysql तालिका अद्यतन करें और अभी भी एक टाइमस्टैम्प अपडेट
- 16. एक अद्वितीय उदाहरण मान
- 17. MySQL LEFT दूसरी तालिका में वैकल्पिक मान के साथ जुड़ें
- 18. ओजी के मान को बदलना: jQuery के साथ छवि
- 19. MySQL अपडेट मान
- 20. किसी मौजूदा कॉलम के मान के बराबर डिफ़ॉल्ट मान वाले तालिका में एक कॉलम जोड़ें
- 21. एंड्रॉइड स्पिनर को ENUM मान रखें?
- 22. MySQL: तालिका में किसी मान के लिए 30 दिन जोड़ें
- 23. Oracle SQL - एक तालिका के मान नहीं मिल
- 24. Enum मान() लंबाई निजी क्षेत्र
- 25. PostgreSQL - तालिका नाम के रूप में एक गतिशील मान
- 26. कैसे mysql में एक ही मान
- 27. एक ही कॉलम मान के साथ mysql पंक्तियों को एक पंक्ति में कैसे समूहित करें?
- 28. Mysql संलग्न स्तंभ मान
- 29. उसी तालिका से डेटा को कॉपी करें और कॉपी किए गए डेटा के मान को एक कॉलम में निर्दिष्ट मान
- 30. MySQL IN() दो मान/सरणी के लिए?
अद्यतन कथन का उपयोग करें? 'अद्यतन तालिका 1 एसईटी enum1 =' पुरुष 'जहां enum1 =' मादा ' – Johan
@ जोहान - और इससे कोई समस्या नहीं होगी? मुझे लगता है कि इसे 'ENUM' मान को बदलने के लिए 'ALTER' के उपयोग से पहले किया जाना होगा। लेकिन क्या इसकी अनुमति होगी? मैं सोच रहा हूं क्योंकि मैंने सोचा था कि एनम कॉलम में केवल निर्दिष्ट मानों को चुना जाना चाहिए? और यदि नया मान अभी तक निर्दिष्ट नहीं किया गया है ... – stefmikhail
पहले परिवर्तन करें और फिर अद्यतन करें, आप उस मान को एक enum सेट नहीं कर सकते हैं जिसे 'तालिका बनाएं'/'तालिका बदलें' कथन में सेट नहीं किया गया है। – Johan