中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

mysql怎么設(shè)置大小寫不敏感

這篇文章將為大家詳細講解有關(guān)MySQL怎么設(shè)置大小寫不敏感,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

在索縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需網(wǎng)站策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),索縣網(wǎng)站建設(shè)費用合理。

mysql設(shè)置大小寫不敏感的方法:

1、打開并編輯“my.cnf”文件;

2、查找“l(fā)ower_case_table_names”項,將該項的值設(shè)置為“1”;

3、重啟mysql即可。

本教程操作環(huán)境:linux5.9.8系統(tǒng)、mysql8版本、Dell G3電腦。

一、 原理與參數(shù)

mysql大小寫敏感配置與兩個參數(shù)相關(guān) —— lower_case_file_system 和 lower_case_table_names

查看當前mysql的大小寫敏感配置

show global variables like '%case%';
 
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 0     |
+------------------------+-------+
  • lower_case_file_system:表示當前系統(tǒng)文件是否大小寫敏感(ON為不敏感,OFF為敏感),只讀參數(shù),無法修改。

  • lower_case_table_names:表示表名是否大小寫敏感,可以修改。

    • lower_case_table_names = 0時,mysql會根據(jù)表名直接操作,大小寫敏感。

    • lower_case_table_names = 1時,mysql會先把表名轉(zhuǎn)為小寫,再執(zhí)行操作。

二、 修改前準備

由于lower_case_table_names = 1時,mysql會先把表名轉(zhuǎn)為小寫,如果建表時表名是大寫的,設(shè)置完大小寫不敏感后就會查不到。感覺類似Oracle建表寫create table "test" 之后用select * from test就查不到,因為Oracle自動把test轉(zhuǎn)成了大寫。

所以我們需要先把庫里所有表名改為小寫。mysql中沒有自帶方法,可以寫個存儲過程修改。

DELIMITER //  
    
DROP PROCEDURE IF EXISTS lowercase //  
CREATE PROCEDURE lowercase(IN dbname VARCHAR(200))  
BEGIN     
DECLARE done INT DEFAULT 0;  
DECLARE oldname VARCHAR(200);  
DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema = dbname;  
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  
 
OPEN cur;  
REPEAT  
FETCH cur INTO oldname;  
SET @newname = LOWER(oldname);  
    
#IF newname equals to oldname, do nothing;  
#select 'a' <> 'A'; -> 0  
#select 'a' <> BINARY 'A'; -> 1  
SET @isNotSame = @newname <> BINARY oldname;  
IF NOT done && @isNotSame THEN 
SET @SQL = CONCAT('rename table ',oldname,' to ',@newname);
PREPARE tmpstmt FROM @SQL;      
EXECUTE tmpstmt;      
DEALLOCATE PREPARE tmpstmt;      
END IF;      
UNTIL done END REPEAT;      
CLOSE cur;     
END //      
DELIMITER ;
 
#調(diào)用存儲過程 
#call lowercase('TEST');
#TEST為你想要修改的數(shù)據(jù)庫的名稱

三、正式設(shè)置

vi my.cnf文件,設(shè)置 lower_case_table_names = 1 ,重啟mysql后生效

vi my.cnf
#添加
lower_case_table_names = 1

關(guān)于mysql怎么設(shè)置大小寫不敏感就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

新聞標題:mysql怎么設(shè)置大小寫不敏感
當前網(wǎng)址:http://www.rwnh.cn/article0/gcgsoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作營銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
年辖:市辖区| 绥滨县| 内江市| 长宁区| SHOW| 霞浦县| 辽源市| 靖西县| 四子王旗| 屏东市| 荆门市| 泊头市| 喜德县| 连云港市| 福州市| 周至县| 吴堡县| 景东| 克拉玛依市| 西峡县| 威信县| 兴宁市| 林西县| 邓州市| 金溪县| 库尔勒市| 武陟县| 天柱县| 腾冲县| 体育| 金昌市| 湘阴县| 北辰区| 格尔木市| 社旗县| 平泉县| 资兴市| 靖远县| 沽源县| 荣成市| 宜春市|