小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Mysql表名忽略大小寫配置及注意事項(xiàng)

 KeepSimple 2019-04-14

mysql表忽略大小寫

因?yàn)閘inux下mysql默認(rèn)是要區(qū)分表名大小寫的。mysql是否區(qū)分大小寫設(shè)置是由參數(shù)lower _ case _ table _ names決定的,其中:

lower_case_table_names = 0
區(qū)分大小寫(即對(duì)表名大小寫敏感),默認(rèn)是這種設(shè)置。這樣設(shè)置后,在mysql里創(chuàng)建的表名帶不帶大寫字母都沒有影響,都可以正常讀出和被引用。變量lower_case_file_system說明是否數(shù)據(jù)目錄所在的文件系統(tǒng)對(duì)文件名的大小寫敏感,其中:ON說明對(duì)文件名的大小寫不敏感,OFF表示

SHOW VARIABLES LIKE ‘%case%’

Variables _name Value
lower_case_file_system ON
lower_case_table_names 0

lower_case_table_names = 1
不區(qū)分大小寫(即對(duì)表名大小寫不敏感)。這樣設(shè)置后,表名在硬盤上以小寫保存,MySQL將所有表名轉(zhuǎn)換為小寫存儲(chǔ)和查找表上。該行為也適合數(shù)據(jù)庫名和表的別名。

SHOW VARIABLES LIKE ‘%case%’

Variables _name Value
lower_case_file_system ON
lower_case_table_names 1

也就是說,mysql設(shè)置為不分區(qū)大小寫后,創(chuàng)建庫或表時(shí),不管創(chuàng)建時(shí)使用大寫字母,創(chuàng)建成功后,都是強(qiáng)制以小寫保存!

配置Mysql表明忽略大小寫

修改mysql為不區(qū)分表名大小寫設(shè)置:

[root@test-huanqiu ~]# mysqladmin -uroot -p shutdown    //以安全模式關(guān)閉數(shù)據(jù)庫
[root@test-huanqiu ~]# vi /etc/my.cnf                  //添加下面一行設(shè)置
.....
[mysqld]
lower_case_table_names=1
.....
[root@test-huanqiu ~]# service mysqld start          //啟動(dòng)mysql

出現(xiàn)問題

在linux環(huán)境中,數(shù)據(jù)庫中表存在大小寫時(shí),進(jìn)行設(shè)置 lower_case_table_names = 1 后,將調(diào)用數(shù)據(jù)庫表的時(shí)候報(bào)表不存在,但是通過show tables任然可以查看到有這張表的存在。

解決辦法

  1. 先在my.cnf里將lower_case_table_names參數(shù)再次調(diào)整為0,改成區(qū)分大小寫
  2. 然后mysqladmin -uroot -p shutdown 以安全模式關(guān)閉數(shù)據(jù)庫
  3. 登陸mysql數(shù)據(jù)庫,”alter table 舊表名 rename 新表名” 將帶大寫字母的舊表改為小寫表名
  4. 最后再啟動(dòng)mysql即可!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多