いっぽんの猟銃のむこうに (DAIZOじいさんとGun)

ヌルめの技術メモとか。フリーランスやってます (http://acez.jp/)

末尾スペースが無視される

全てのMySQL照合は PADSPACE タイプの物だと覚えておいてください。これは、MySQLの中の全ての CHAR と VARCHAR 値が後続スペースを無視して比較されるという事を意味します。

後続文字が剥ぎ取られたり、比較がそれらを無視する場合は、もしカラムが固有の値を要求するインデックスを持っていたら、後続文字数だけが異なるカラム値への挿入は重複キーエラーになります。例えば、もしテーブルが 'a' を含んでいると、'a ' を格納しようとした時重複キーエラーになります。

http://dev.mysql.com/doc/refman/5.1/ja/char.html

末尾スペースが自動的にトリムされて比較されてしまう、という仕様。
そもそもそんなデータがPKになってることなんてそうそうないよね、と思ったらありました。
本当にありがとうございました。(血涙)