1. 程式人生 > >關於mysql中sql語句查詢不區分大小寫的解決辦法

關於mysql中sql語句查詢不區分大小寫的解決辦法

MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的:

1、資料庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變數名也是嚴格區分大小寫的;

MySQL在Windows下都不區分大小寫。
1、MySQL在查詢字串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字符集作為預設的字符集,這個字符集對大小寫不敏感,因此在比較過程中中文編碼字元大小寫轉換造成了這種現象。

2.解決辦法

 A.表名區分大小寫

 在my.conf加入:

ower_case_table_names = 0
其中 0:區分大小寫,1:不區分大小寫

B.插入查詢時區分大小寫

 欄位值需要設定BINARY屬性,即可區分大小寫。

 設定的方法有多種:

建立時設定:
CREATE TABLE T(
A VARCHAR(10) BINARY
);

 使用alter修改:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

mysql table editor中直接勾選BINARY項。