MySQL で大文字と小文字を区別しないIDを登録する方法のメモ。 MySQL で大文字と小文字を区別しないIDを生成するには、以下のように collate を指定します。
create table test_collate1 ( id varchar(32) not null collate utf8mb4_0900_ai_ci, primary key (id) ); insert ignore into test_collate2 (id) values ('abC123'); insert ignore into test_collate2 (id) values ('Abc123'); insert ignore into test_collate2 (id) values ('deF456'); insert ignore into test_collate2 (id) values ('DEF456');
上記を実行すると、大文字・小文字を区別せずにユニークな 'abC123' と 'deF456' のみがテーブルに登録されます。
mysql> select * from test_collate2; +--------+ | id | +--------+ | abC123 | | deF456 | +--------+