大文字小文字が区別されない

MySQLのchar型やvarchar型等は大文字と小文字の区別がされないのがデフォルト。 区別したい場合はテーブル作成時かクエリ投げる時に「BINARY」属性を付加する。 例えば、

CREATE TABLE `test_tbl` (`testcol` VARCHAR(10) BINARY NOT NULL);

とか、

ALTER TABLE `test_tbl` MODIFY `testcol` VARCHAR(10) BINARY;

のようにBINARY属性を付加すると区別できるようになる。 既に存在するテーブル等で、どうしてもALTER出来ない場合や、状況に応じて区別の有無を変化さたい場合等は、クエリを投げる時に属性を付加する事も可能。 例えば、

SELECT * FROM `test_tbl` WHERE `testcol` = BINARY 'WwXxYyZz';

こんな感じ。 まあ、クエリに付加する場合、元々予定されていない所に後付するとバグの原因にもなるので、出来るだけ避けた方が良いかと思う。


投稿日

カテゴリー:

投稿者:

タグ: