如果你在mysql有唯一約束的列上插入兩行值'A'和'a',Mysql會認為它是相同的,而在oracle中就不會。就是mysql默認的字段值不區分大小寫?這點是比較令人頭痛的事。
請看下面的測試:
mysql> create table test4(nick varchar(20) primary key);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into test4 values('A');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test4 values('a');
ERROR 1062: Duplicate entry 'a' for key 1
而如何設置讓其列值區分大小寫呢?
mysql> create table test4(nick varchar(20) binary primary key);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into test4 values('A');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test4 values('a');
Query OK, 1 row affected (0.00 sec)
在聲明字符類型后,在后面加一個binary,mysql就可以區分大小寫了。