1、mysql預設情況下是否區分大小寫,使用show variables like '%table_names』檢視lower_case_table_names的值;
show variables like 『%lower_case_table_names』2,linux下的mysql預設是要區分表名大小寫的 ,而在windows下表名不區分大小寫0代表區分,1代表不區分。
(1). 用root登入,修改/etc/my.cnf
(2) 在[mysqld]下加入一行:lower_case_table_names=1
3.通過查詢資料發現需要設定collate(校對) 。
collate規則:
*_bin: 表示的是binary case sensitive collation,也就是說是區分大小寫的
*_cs: case sensitive collation,區分大小寫
*_ci: case insensitive collation,不區分大小寫
設定字符集:6,可以通過binary關鍵字,方法有兩種:utf8_general_ci --不區分大小寫
utf8_bin–區分大小寫
可以將查詢條件用binary()括起來。 比如:
select * from table where binary column =『aaa』;
可以修改該字段的collation 為 binary
比如:
alter
table
tablename
modify
column
columnname
varchar
(100
)binary
character
set utf8 collate utf8_bin default
null
;
3,在建表時加以標識:
create table `usertable`(
`id` varchar(32
) binary,
primary
key(`id`)
)engine
=innodb default
charset
=utf8;
create
table `usertable` (
`id` varchar(32
)character
set utf8 collate utf8_bin not
null
default'',
primary
key(`id`)
)engine
=innodb default
charset
=utf8;
原理:
對於char、varchar和text型別,binary屬性可以為列分配該列字符集的 校對規則。
binary屬性是指定列字符集的二元 校對規則的簡寫。
排序和比較基於數值字元值。因此也就自然區分了大小寫。
以上通過兩種方案解決了mysql查詢不區分大小寫的問題,希望對大家有所幫助,更多有mysql資料查詢問題,請登入本站學習。
如何解決php domdocument找不到的問題
具體問題 我在magento應用程式的頁面上發現錯誤 當我訪問它時,它總是顯示此訊息錯誤 fatal error c程式設計客棧lass domdocumwww.cppcns.coment not found in home lib zend feed abstract.php on line 95...
如何解決mysql死鎖
見官方文件 可直接在mysql命令列執行 show engine innodb status g 檢視造成死鎖的sql語句,分析索引情況,然後優化sql 然後show processlist kill processid 另外可以開啟慢查詢日誌,linux下開啟需在my.cnf的 mysqld 裡面...
Spring Boot如何解決Mysql斷連問題
spring.datasource.url jdbc mysql localhost test spring.datasource.username dbuser spring.datasource.password dbpass spring.datasource.driver class nam...