[MySQL]カラムのCOLLATE/CHARACTER SETを再設定する

昔から運用しているデータベースには、文字コードをlaten1で運用しているものもあったりします。DEFAULT CHARACTER SETはシステム設定で変更できますが、テーブルのカラムに紐づいているCHARACTER SETの変更方法はALTER TABLEでて着るようです。

MySQL/ALTER – MinacoWiki

列の型変更

ALTER TABLE テーブル名 CHANGE sample_name sample_name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
ALTER TABLE テーブル名 CHANGE sample_name sample_name VARCHAR(6) NULL DEFAULT NULL;

よく間違えるのは、CHARACTER SETよりも前にNULLを書くこと。順番が違うとエラーになるので、上記を参考に記述しましょう。ちなみに、マニュアルでは、”CHANGE a a”の代わりに”MODIFY a”も使えるとの記述もありました。
[amazon]4798115169[/amazon]

About: uechoco