mysql 大小寫敏感問題
mysql關於大小寫敏感的話題有以下三個:
1,表名字和庫名字 linux/unix 區分大小寫
也就是 你可以建立一個叫test和TEST的兩個表,
但是windows預設是不區分大小寫的,
LINUX:
編輯/etc/my.cnf檔案,在[mysqld]節下 新增 lower_case_table_names=1 引數,這樣就大小寫不區分了,也就不能在一個庫下建立test和TEST的兩個表,並設定相應的值 (備註:為0時大小寫敏感,就是區分大小寫,為1時大小寫不敏感,也就是不區分大小寫,預設為0)
2,表的欄位名字,
linux 下 預設是不區分大小寫的,也就是 一個表中有一個叫id的欄位,就不能建立ID的欄位。
3,表的內容,預設查詢是不區分欄位值的大小寫,
如果想在查詢時區分欄位值的大小寫,則:欄位值需要設定BINARY屬性,設定的方法有多種:
A、建立時設定:
CREATE TABLE T(
A VARCHAR(10) BINARY
);
B、使用alter修改:
ALTER TABLE tablename MODIFY COLUMN cloname VARCHAR(10) BINARY;
具體實驗過程:
mysql> create table ll ( name varchar(100);
mysql> insert into ll values('hh');
Query OK, 1 row affected (0.00 sec)
mysql> insert into ll values('hH');
Query OK, 1 row affected (0.00 sec)
mysql> select * from ll where name='hh';
+------+
| name |
+------+
| hh |
| hH |
+------+
2 rows in set (0.00 sec)
這時候你新增主鍵就會報錯
mysql> alter table ll add primary key (name);
ERROR 1062 (23000): Duplicate entry 'hh' for key 'PRIMARY'
修改表的name列的值為大小寫不敏感。
mysql> alter table ll MODIFY name varchar(100) BINARY;
Query OK, 2 rows affected (0.02 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from ll where name='hh';
+------+
| name |
+------+
| hh |
+------+
1 row in set (0.00 sec)
然後新增主鍵就沒問題了。
mysql> alter table ll add primary key (name);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
小結:
MySQL在Linux下資料庫名、表名、列名、別名大小寫預設規則是這樣的:
1、資料庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變數名也是嚴格區分大小寫的;
MySQL在Windows下都不區分大小寫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2141708/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql大小寫敏感MySql
- PHP大小寫是否敏感問題PHP
- MySQL中的大小寫敏感MySql
- MySQL大小寫敏感說明MySql
- MySQL大小寫問題MySql
- 解決Linux系統下MYSQL資料表大小寫敏感問題LinuxMySql
- MySQL大小寫敏感問題lower_case_table_names & lower_case_file_systemMySql
- mysql 大小寫敏感 lower_case_table_namesMySql
- Mysql 表名大小寫問題MySql
- mysql大小寫問題解決MySql
- git Windows下重新命名檔案,大小寫敏感問題GitWindows
- sql server 大小寫敏感SQLServer
- mysql 5.X 在linux上,表名大小寫敏感問題解決辦法MySqlLinux
- 解決Mac OS X檔案系統大小寫不敏感問題Mac
- DM8 字串大小寫敏感字串
- 將現有MySQL資料庫改為大小寫不敏感MySql資料庫
- mysql表名忽略大小寫問題記錄MySql
- python中排序時對大小寫不敏感Python排序
- MySQL資料庫中庫、表名、欄位的大小寫問題MySql資料庫
- mysql查詢欄位內容無法區分大小寫問題MySql
- jQuery 操作 XML(解決大小寫問題)jQueryXML
- 在Oracle中進行大小寫不敏感的查詢Oracle
- oracle 11g新特性之密碼大小寫敏感Oracle密碼
- 資料庫使用者大小寫問題資料庫
- php一招搞定替換指定字元(大小寫不敏感)PHP字元
- 在Oracle中進行大小寫不敏感的查詢[zt]Oracle
- vue 元件(component)命名的小細節問題(大小寫問題)Vue元件
- 在 macOS 內使用大小寫敏感的 APFS 卷儲存程式碼Mac
- Oracle 12c 業務使用者密碼大小寫不敏感Oracle密碼
- ORACLE物件名大小寫敏感性相關的深入分析Oracle物件
- 10g、11g口令檔案密碼大小寫敏感密碼
- MySQL 8 忽略表名大小寫MySql
- 配置mysql不區分大小寫MySql
- mysql 表明不區分大小寫MySql
- MySQL binary 區分大小寫MySql
- MySQL表名區分大小寫MySql
- MySQL不區分大小寫設定MySql
- mysql字串之大小寫匹配查詢MySql字串