mysql主鍵大小寫不敏感的解決辦法


如果你在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就可以區分大小寫了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM