2011-05-02 155 views
1

我已經拿到了數據庫的出口,但是當過我進口,我感到我相信這是因爲在數據庫導入數據庫的phpmyadmin

SQL query: 

-- 
-- Constraints for dumped tables 
-- 
-- 
-- Constraints for table `instance` 
-- 
ALTER TABLE `instance` ADD CONSTRAINT `instance_ibfk_2` FOREIGN KEY ( `user_id`) REFERENCES `user` ( `id`) , 
ADD CONSTRAINT `instance_ibfk_1` FOREIGN KEY ( `cat_id`) REFERENCES `category` ( `cat_id`) ; 


MySQL said: 

#1005 - Can't create table 'dalejc.#sql-152c_243' (errno: 150) 
+0

而那個錯誤將會是... – ceejayoz 2011-05-02 16:20:01

+0

上面編輯... – James 2011-05-02 16:21:12

+0

看看errno 150是什麼。 – 2011-05-02 16:31:45

回答

0

嘗試加載它到一個新的數據庫中存在的外鍵的錯誤。如果它不起作用,那麼你需要獲取缺少的SQL。如果確實如此,那麼你必須通過文件並提取缺失的部分。

+0

如果這傢伙要再次出口,他有什麼可以做的避免這個錯誤 – James 2011-05-02 16:25:32

0

在我看來像你的一個KEY字段不匹配。

特別是,檢查整數字段的內容,其默認值可能在安裝過​​程中有所不同。

靈感:谷歌搜索mysql errno 150

0

你的猜測可能是正確的。嘗試獲得詳細的錯誤消息作爲在http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

同樣建議,如果ALTER TABLE失敗並 它指的是錯誤150,這意味着一個 外鍵定義將是不正確 形成用於改變 表。您可以使用SHOW ENGINE INNODB STATUS在服務器中顯示最近InnoDB 外鍵錯誤的詳細說明 。