Bir tablo boyunca bir ENUM
değerini değiştirmek mümkün olup olmadığını merak ediyorum, böylece belirtilen ENUM
değerinin gösterildiği tüm satırlarda, değişiklik iyi.Tablo Boyunca MySQL ENUM Değerinin Değerini Değiştirme
cevap
Eğer bir enum değeri değiştirmek isterseniz:
ENUM('English', 'Spanish', 'Frenchdghgshd', 'Chinese', 'German', 'Japanese')
kullanımının değiştirmek için: Eski enum oldu varsayalım
-- 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 muhtemelen tüm geçeceği
Masanızdaki satırları güncellemeye çalışırken, bunun etrafında planlanmış bir optimizasyon hikayeleri duydum, ancak bunun gerçekten gerçekleşip gerçekleşmediğinden emin değilim.
Yani, MySQL'in otomatik olarak veritabanından geçeceğini ve herhangi bir değişikliğe ihtiyaç duyduğunu düşünüyorsunuz? Başka bir yöntemin "ALTER" değerini kullanmak için * yeni 'ENUM 'değerine * eklenmesi, sonra da eski değerin tablosundaki herhangi bir örneği yeni değerle değiştirmek için' UPDATE' kullanması olduğunu düşünmekteydim. Son olarak, eski 'ENUM' değerini silmek için 'ALTER' kullanın. Bunun işe yarayacağını düşünüyor musun? – stefmikhail
Bir enum, alanı bir dizgede saklamıyor, yalnızca minik değerler olan enum değerlerini tutacak en küçük tamsayıyı kullanıyor. Dizeleri bir enum mysql olarak değiştirirseniz, zaman zaman – Johan
satırına herhangi bir şey yapmak zorunda kalmaz, bu nedenle sadece bir tamsayıyla ilişkilendirir? – stefmikhail
- 1. Değiştirme MySQL tablo hataları
- 2. Enum değerinin özel öznitelikleri alın
- 3. Tablo satırları boyunca JQuery döngüsü ve nth alt değerini alın
- 4. MySQL Alter tablo hatası neden olur: BOŞ değerinin geçersiz kullanımını
- 5. Tablo türünü InnoDB olarak değiştirme
- 6. Statik değişkenin başlangıç değerinin doxygen değerini,
- 7. Bir Settings.settings değerinin değerini nasıl değiştirebilirim?
- 8. HttpHandler'da Çerez Değerini Değiştirme
- 9. Gebelik özellik değerini değiştirme
- 10. iframe öğesinin değerini değiştirme
- 11. Hazırlanmış deyimde mysql enum için Java enum
- 12. MySQL Enum doğru kullanımı?
- 13. Enum, benim MySQL veritabanında
- 14. Kesme tanımlayıcısını değiştirme Tablo
- 15. Sütun değerinin NULL olup olmadığını veya Mysql
- 16. Belirli bir özelliğin değerini değiştirme
- 17. PropertyGrid özellik öğesinin değerini değiştirme
- 18. MySQL birden tablo 2 tablo
- 19. Listenin değerini, mysql Python
- 20. MySQL: CASE/ELSE değerini
- 21. Form, mysql değerini kullanarak php değerini alamıyor
- 22. Mysql: Belirli bir alt dizeyle sütun değerinin bittiği satırları bul
- 23. Bir enum değerini int olarak nasıl serileştiririm?
- 24. Enum değerini bir dizeye dönüştürme nasıl yapılır?
- 25. java Enum gelen Değerini almak nasıl
- 26. İki enum değerini '<' ile nasıl kıyaslayamıyoruz?
- 27. değiştirme Tablo satır ekran özelliği
- 28. Enum'un değerini tarayıcıdan girilen bir dizeye değiştirme? - Java
- 29. Foreach MySql Tablo
- 30. Tablo `generic_table_name`, MySQL
Bir güncelleştirme bildirimi kullanın? UPDATE table1 SET enum1 = 'male' WHERE enum1 = 'female'' – Johan
@Johan - Ve bu herhangi bir soruna neden olmaz mı? Sanırım, 'ENUM' değerinin kendisini değiştirmek için 'ALTER' kullanılmadan önce yapılması gerekecek. Ama izin verilir mi? Merak ediyorum, enum sütununda sadece belirtilen değerlerin seçilmesine izin verildiğini düşündüm. Ve eğer yeni değer henüz belirtilmemişse ... – stefmikhail
Önce bir değişiklik yapın ve sonra güncellemeyi yapın, enum 'create table'/'alter table' deyiminde ayarlanmamış bir değere ayarlayamazsınız. – Johan