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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決Linux系統下MYSQL資料表大小寫敏感問題LinuxMySql
- Mysql 表名大小寫問題MySql
- mysql大小寫問題解決MySql
- git Windows下重新命名檔案,大小寫敏感問題GitWindows
- 在Linux下管理MySQL的大小寫敏感性LinuxMySql
- DM8 字串大小寫敏感字串
- MySQL的where條件字串區分大小寫的問題MySql字串
- python中排序時對大小寫不敏感Python排序
- vue 元件(component)命名的小細節問題(大小寫問題)Vue元件
- 正規表示式i修飾符(大小寫不敏感)
- php一招搞定替換指定字元(大小寫不敏感)PHP字元
- 在 macOS 內使用大小寫敏感的 APFS 卷儲存程式碼Mac
- MySQL 8 忽略表名大小寫MySql
- [20190306]靜態監聽配置sid大小寫問題.txt
- Oracle 12c 業務使用者密碼大小寫不敏感Oracle密碼
- MySQL不區分大小寫設定MySql
- Qt5.15新建類報錯是大小寫問題嗎?QT
- 探索Redis與MySQL的雙寫問題RedisMySql
- json物件以及陣列鍵值的深度大小寫轉換問題JSON物件陣列
- MySQL-資料記錄大小寫轉換MySql
- 版本號比較大小問題
- MySQL 問題MySql
- mysql8.0表名忽略大小寫(Ubuntu24.04)MySqlUbuntu
- MySQL表名不區分大小寫的設定方法MySql
- Mysql(MyISAM)的讀寫互斥鎖問題的解決方法MySql
- mysql 1130 問題MySql
- 區分大小寫
- 線上MySQL讀寫分離,出現寫完讀不到問題如何解決MySql
- 如何避免MYSQL主從延遲帶來的讀寫問題?MySql
- Mysql模糊查詢預設是不區分字母大小寫的MySql
- mysql 轉義問題MySql
- mysql 遇到的問題MySql
- Mysql:常見問題MySql
- MySQL死鎖問題MySql
- 字串-大小寫轉換字串
- Git 區分大小寫Git
- 大小廠必問Java後端面試題(含答案)Java後端面試題
- 【問題追查】mc叢集寫入恍惚問題排查
- mysql多版本共存問題MySql