鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ mysql恢復(fù)時(shí)報(bào)錯(cuò):v_actList視圖不存在;恢復(fù)成功的視圖名變成小寫。

mysql恢復(fù)時(shí)報(bào)錯(cuò):v_actList視圖不存在;恢復(fù)成功的視圖名變成小寫。

問(wèn)題1:

使用mysql創(chuàng)建了基于視圖的視圖,使用navicate恢復(fù)sql數(shù)據(jù)庫(kù)文件時(shí),提示子視圖(被父視圖調(diào)用的視圖)不存在。(不止一個(gè)視圖是這樣)

問(wèn)題2

恢復(fù)數(shù)據(jù)庫(kù)時(shí),視圖恢復(fù)不成功,然后手動(dòng)復(fù)制視圖,視圖名都變成了小寫。

  • 原數(shù)據(jù)庫(kù)的視圖

clipboard.png

  • 新數(shù)據(jù)庫(kù)的視圖

clipboard.png


嘗試過(guò)的解決方法:

如果先復(fù)制子視圖,再?gòu)?fù)制父視圖時(shí),可以正常寫入。是否是因?yàn)閙ysql視圖恢復(fù)的順序問(wèn)題?


錯(cuò)誤信息如下:

[Err] 1146 - Table 'test.v_actlist' doesn't exist
[Err] 1146 - Table 'test.v_useract' doesn't exist


回答
編輯回答
失心人

Navicate 對(duì)表名或視圖名處理時(shí)會(huì)統(tǒng)一成小寫的, 如果想保持為大寫的, 需要加引號(hào), 可以用反引號(hào)`, 或雙引號(hào)"

還有就是檢查my.ini或my.cnf,看里面不否有 lower_case_table_names=0 類似的配置.

2017年8月3日 21:02