2012-04-06 73 views
21

私はmysqlテーブルを持っていますが、タイプがenumのカラムがあり、そのカラムにenum('a','b','c','d')のような値のセットが定義されているとします。Mysqlデータ型enumの列に新しい値を追加

alter table文を使用して'e'の値をこのセットに追加するにはどうすればよいですか?

そして、新しい値をCONCATを使用して末尾に追加したいとします。

答えて

37

列挙型に新しい値を追加するときは、残念ながら既存の列挙型の値をすべてリストする必要があります。

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

あなたは本当にこのような状況でCONCAT()を使用したくありません。

0

デフォルト値を追加したいとも列挙のための特定の列の後にしたい場合は、このクエリを試してみてください。

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

これが問題に関連してどのように? –

+0

このコードスニペットをご利用いただき、ありがとうございます。適切な説明(* meta.stackexchange.com/q/114762)は、*なぜ*これが問題の良い解決策であるかを示すことで長期的な価値を向上させ、将来の読者にとって他の同様の質問。あなたの前提を含め、あなたの答えを[編集]して説明を加えてください。 –

関連する問題