mysql區分大小寫

2022-08-29 19:18:12 字數 2141 閱讀 6788

兩種情況下會區分大小寫,

1、建表時,表的編碼是utf8_bin(utf8_general_ci不會區分大小寫),注意是表編碼不是資料庫編碼。區分大小寫與資料庫編碼無關。

2、建表後,可以通過 binary調整。語句如下:

alter table `wl_testdx_bin`.`wlt_testdx_bin` modify `currency` varchar(5) binary;

開始測試:

drop table `testdx_bin`;

create table `testdx_bin` (

`id` bigint(20) not null auto_increment,

`currency` varchar(5) not null default 'usd' comment '資產幣種',

`create_time` timestamp not null default current_timestamp,

`update_time` timestamp not null default current_timestamp on update current_timestamp,

primary key (`id`),

unique `idx_currency` (`currency`) using btree

) engine=innodb collate=utf8_bin;

insert into `testdx_bin`( `currency`, `create_time`, `update_time`) 

values ( 'usd', '2018-10-08 22:37:04', '2018-10-08 22:37:08');

執行成功。

insert into `testdx_bin`( `currency`, `create_time`, `update_time`) 

values ( 'usd', '2018-10-08 22:37:04', '2018-10-08 22:37:08');

執行成功。

drop table `testdx_bin`;

create table `testdx_bin` (

`id` bigint(20) not null auto_increment,

`currency` varchar(5) not null default 'usd' comment '資產幣種',

`create_time` timestamp not null default current_timestamp,

`update_time` timestamp not null default current_timestamp on update current_timestamp,

primary key (`id`),

unique `idx_currency` (`currency`) using btree

) engine=innodb collate=utf8_general_ci;

insert into `testdx_bin`( `currency`, `create_time`, `update_time`) 

values ( 'usd', '2018-10-08 22:37:04', '2018-10-08 22:37:08');

執行成功。

insert into `testdx_bin`( `currency`, `create_time`, `update_time`) 

values ( 'usd', '2018-10-08 22:37:04', '2018-10-08 22:37:08');

執行失敗。

alter table `testdx_bin` modify `currency` varchar(5) binary;

insert into `testdx_bin`( `currency`, `create_time`, `update_time`) 

values ( 'usd', '2018-10-08 22:37:04', '2018-10-08 22:37:08');

執行成功。

MYSQL 區分大小寫

1 linux下mysql安裝完後是預設 區分表名的大小寫,不區分列名的大小寫 2 用root帳號登入後,在 etc my.cnf 中的 mysqld 後新增新增lower case table names 1,重啟mysql服務,這時已設定成功 不區分表名的大小寫 lower case table...

mysql 區分大小寫 大小寫敏感 配置

linux下mysql預設區分大小寫 windows下mysql預設不區分大小寫 檢視是否區分大小寫 lower case table names引數詳解 lower case table names 0 其中 0 區分大小寫,1 不區分大小寫 mysql在linux下資料庫名 表名 列名 別名大小...

mysql區分大小寫嘛 Mysql區分大小寫問題

在 mysql 中,資料庫和表其實就是資料目錄下的目錄和檔案,因而,作業系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在 windows 中是大小寫不敏感的,而在大多數型別的 unix linux 系統中是大小寫敏感的。mysql大小寫敏感可以通過配置檔案的lower case ...