react原始碼解析12.狀態更新流程
阿新 • • 發佈:2021-06-15
1、資料表名和資料庫名的大小寫敏感
在Windows下預設是大小寫不敏感,LINUX下預設是大小寫敏感的。
要修改大小寫敏感,需要修改MYSQL的INI配置檔案,在[mysqld]節點下新增lower_case_table_names引數配置:
lower_case_table_names=0
①關於lower_case_table_names引數對錶名稱或資料庫名稱大小寫敏感的控制。
②Unix下預設為0,也就是大小寫敏感的;Windows下預設為1,不敏感;macOS預設為2,儲存區分大小寫,但是在查詢時會轉換為小寫。
③對於在大小寫不敏感的系統(Windows和macOS)不能將該欄位設定為0。
2、欄位內容及列名大小寫不敏感的解決方案
①建立表時,將欄位標記為binary,二進位制大小寫是敏感的。
create table test1( id int, name varchar(20) binary );
②在查詢條件的欄位前加binary,但是不建議這麼做,因為會使欄位索引失效。
③建表時設定校對規則(collate)。
collate規則:
*_bin: 表示的是binary case sensitive collation,也就是說是區分大小寫。
*_ci: case insensitive collation,不區分大小寫 。
④如果建表時校對規則未用*_bin,則可直接修改欄位的屬性。
alter table test3 modify name varchar(20) collate utf8_bin;
總結:只要在建立表的時候指定collate為utf8_bin,就可以實現大小寫敏感,如果建表時未指定,則可修改欄位的校對規則,也可以實現大小寫敏感。
https://www.cnblogs.com/developer_chan/p/9247674.html