インデックスの制約上やりたくなる時があるんですよね〜
ERMasterでカラムに文字コードを設定します。
列情報ウインドウの詳細タブの「カラムの制約」の部分に「character set ascii」等と書くと、DDL出力すると以下のようになります。
CREATE TABLE SYNONYM ( SEQ INT UNSIGNED NOT NULL AUTO_INCREMENT, WORD TEXT character set ascii, PRIMARY KEY (SEQ) ) ENGINE = InnoDB DEFAULT CHARACTER SET utf8;
1点だけ注意する事があります。カラムがnot nullの場合、not nullチェックボックスをオンにしてしまうと、Syntax error になってしまいます。
CREATE TABLE SYNONYM ( SEQ INT UNSIGNED NOT NULL AUTO_INCREMENT, WORD TEXT NOT NULL character set ascii, PRIMARY KEY (SEQ) ) ENGINE = InnoDB DEFAULT CHARACTER SET utf8; </pre> <span class="feature3">NOT NULLはcharacter setより後ろに定義しないと構文エラーになる</span>のです。 これを解決するには、ちょっと嫌だけど、「カラムの制約」の部分に「character set ascii <span class="feature1">not null</span>」等と書けば大丈夫です。 これで物理的に対応できない、という事態は避けられますね。