Java多商戶在執(zhí)行sql文件后數(shù)據(jù)表名默認(rèn)變成了小寫(xiě),導(dǎo)致運(yùn)行項(xiàng)目報(bào)錯(cuò)
以下是報(bào)錯(cuò)信息:
lower_case_table_names是MySQL數(shù)據(jù)庫(kù)中的一個(gè)系統(tǒng)變量,用于控制表名的大小寫(xiě)敏感度。在MySQL中,表名和列名默認(rèn)是大小寫(xiě)不敏感的,這意味著在查詢(xún)時(shí),MySQL會(huì)自動(dòng)將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。然而,在某些操作系統(tǒng)和文件系統(tǒng)中,表名和列名的大小寫(xiě)是敏感的,這就可能導(dǎo)致一些問(wèn)題。為了解決這個(gè)問(wèn)題,MySQL提供了lower_case_table_names參數(shù),用于設(shè)置表名和列名的大小寫(xiě)處理方式。
lower_case_table_names參數(shù)有三種取值:0、1和2
1. lower_case_table_names=0
當(dāng)lower_case_table_names=0時(shí),表名和列名是大小寫(xiě)敏感的。這意味著在創(chuàng)建表和查詢(xún)數(shù)據(jù)時(shí),需要嚴(yán)格區(qū)分大小寫(xiě)。
2. lower_case_table_names=1
當(dāng)lower_case_table_names=1時(shí),表名和列名是大小寫(xiě)不敏感的。MySQL會(huì)自動(dòng)將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。
3. lower_case_table_names=2
當(dāng)lower_case_table_names=2時(shí),表名和列名是大小寫(xiě)敏感的,但MySQL會(huì)自動(dòng)將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母存儲(chǔ)。
解決辦法:
要設(shè)置lower_case_table_names=1,可以在MySQL配置文件(my.cnf或my.ini)中添加以下內(nèi)容: