varchar, charの注意事項
デフォルトだと大/小文字は区別されないのでBINARY属性を指定しよう
CREATE TABLE hoge(
id int not null auto_increment,
name varchar(128) default null,
PRIMARY KEY (id));INSERT INTO hoge values('hoge'),('Hoge');
SELECT * FROM hoge WHERE name = 'hoge';
+----+------+
| id | name |
+----+------+
| 1 | hoge |
| 2 | Hoge |
+----+------+
2 rows in set (0.06 sec)
二件引っかかる
ということでBINARY属性を付与
mysql> ALTER TABLE hoge MODIFY name varchar(128) BINARY DEFAULT NULL;
Query OK, 2 rows affected (0.70 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select * from hoge where name = 'hoge';
+----+------+
| id | name |
+----+------+
| 1 | hoge |
+----+------+
1 row in set (0.02 sec)
OK