Mysql中年夜小寫敏感成績招致的MySql Error 1146 Tabel doen’t exist毛病。本站提示廣大學習愛好者:(Mysql中年夜小寫敏感成績招致的MySql Error 1146 Tabel doen’t exist毛病)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql中年夜小寫敏感成績招致的MySql Error 1146 Tabel doen’t exist毛病正文
MySql Error 1146 Tabel doen't exist,普通情形下是表不存在,或許表名寫錯了、權限成績。
明天碰到了這個成績,細心查對幾遍後,確認無誤,又在phpMyAdmin裡測驗考試select,可以查詢出數據。又查對權限,確認該mysql用戶具有一切權限。那這個毛病是怎樣回事呢?查詢了一些材料後,發明假如mysql引擎纰謬能夠會形成真實存在的表卻沒法拜訪,然則發明引擎都是myisam。
這下犯愁了,毛病出在哪裡呢?又找了半天,依然無果。無辜的看著這段報錯代碼,發愣了半天,忽然發明了一個曾經被我疏忽的細節,具體的報錯代碼為 Tabel ABC doen't exist,這裡的表名為年夜寫,而數據庫中的表名為abc(馬冬注:只為舉例,沒有此表),是小寫的。在phpMyAdmin用年夜寫表名ABC測驗考試select,果真報錯提醒Tabel ABC doen't exist。
到這裡,成績清晰可見,緣由是一個被我疏忽的成績:windows辦事器下,mysql的數據表是年夜小寫不敏感的,而linux辦事器默許情形下年夜小寫敏感。假如linux辦事器要修正成年夜小寫不敏感,可以找到/etc/my.cnf,在[mysqld]下參加一行: lower_case_table_names=1。(馬冬注:lower_case_table_names默許情形下為0,及表名年夜小寫敏感;修正為1,即年夜小寫不敏感)。假如沒有修正辦事器設置裝備擺設的權限,那就留意湧現的每個表名都要年夜小寫分歧。
不留意小細節,常常會糟蹋許多時光的。細節決議成敗。