1. 程式人生 > 其它 >react原始碼解析12.狀態更新流程

react原始碼解析12.狀態更新流程

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