2007年5月14日 星期一

MySQL 中錯誤訊息「ERROR 1005 (HY000)」的解決方式

今天某個大笨妹傳了 xxx.sql 檔給我,要我 dump 進 MySQL server,結果出現以下訊息:
ERROR 1005 (HY000) at line 53: Can't create table './tgc/Privilege.frm' (errno: 150)
這是啥訊息啊.........google 一下,發現原來是跟 key reference 有關,於是找到以下這篇文章 ,裡面說先把 foreign key check 用以下語法關掉:
mysql> SET FOREIGN_KEY_CHECKS = 0;

# 到時候記得重新開啟
mysql> SET FOREIGN_KEY_CHECKS = 1;
恩.......結果無效.....


由於 table engine 為 InnoDB,於是又找到這篇文章 ,看起來似乎可用,文章中提到用以下語法檢查 InnonDB 的狀態資訊:
mysql> SHOW ENGINE INNODB STATUS;
此時會出現一堆訊息阿.....於是慢慢看慢慢看....結果發現原來是 table name 打錯了,把小寫 L 打成大寫 L........(竟然花了半個小時來處理這種 bug....@_@)

恩....學乖了,以後還是看 log 比較清楚,畫面上給出的訊息真是不清不楚。

沒有留言:

張貼留言