バグ?

http://bugs.mysql.com/bug.php?id=23069

MySQL文字コードをUTF8にしていると、カラムのデータ型がvarcharの時、

1文字で3バイト使用してしまう。

なので、データベースエンジンがInnoDBの場合はPrimary KeyやUnique制約に

指定したカラムのバイト数(文字数)の最大値は255になってしまう。

バージョンが5.1.38ではこの現象が起きますが、最新のは調べてないので再現

するか不明です。

対応としては、

  • カラムのバイト数(文字数)を減らす。
  • 文字コードを変える。
  • データベースエンジンを変える。
  • そもそもインデックスを張らない。
  • ソースを編集して再コンパイル(?)。

辺りなんでしょうか…。