2012-04-06 8 views
21

Giả sử tôi có bảng mysql và tôi có cột loại enum và cột đó đã xác định tập hợp các giá trị như enum('a','b','c','d').Mysql Thêm giá trị mới vào cột kiểu dữ liệu enum

Làm cách nào để thêm giá trị 'e' vào bộ này bằng cách sử dụng câu lệnh bảng thay thế?

Và tôi muốn thêm giá trị mới vào cuối bằng cách sử dụng CONCAT.

Trả lời

37

Thật không may, bạn cần phải liệt kê lại tất cả các giá trị enum hiện có khi thêm giá trị mới vào enum.

ALTER TABLE mytable MODIFY COLUMN mycolumn ENUM('a','b','c','d','e'); 

Bạn không thực sự muốn sử dụng CONCAT() trong trường hợp này.

0

Nếu bạn muốn thêm giá trị mặc định và cũng muốn sau khi một cột cụ thể cho enum, hãy thử truy vấn này:

Alter table `your_table` 
Add column `visible_on` enum('web','mobile','both') default 'both' 
After `your_column`; 
+1

như thế nào này có liên quan đến câu hỏi? –

+0

Cảm ơn bạn đã trích đoạn mã này, đoạn mã này có thể cung cấp một số trợ giúp giới hạn ngắn hạn. Một lời giải thích thích hợp [sẽ cải thiện rất nhiều] (// meta.stackexchange.com/q/114762) giá trị lâu dài của nó bằng cách hiển thị * tại sao * đây là một giải pháp tốt cho vấn đề, và sẽ làm cho nó hữu ích hơn cho người đọc trong tương lai các câu hỏi tương tự khác. Vui lòng [sửa] câu trả lời của bạn để thêm một số giải thích, bao gồm các giả định bạn đã thực hiện. –