2011-03-03 9 views
0

實際上,我正在管理和更新一個Web應用程序,其中的數據庫在MySQL服務器5.x上,所有表都是InnoDB,當我需要創建一個具有引用現有數據的外鍵的新表,以及哪一個具有實時數據。當我嘗試執行create命令時,會拋出着名的errno 1005,如果我刪除了父表的所有信息,創建子表並重新載入父數據(這是爲了約束,我想),問題就解決了。如果父表具有包含數據的祖父表a,則這將是一種痛苦。用fk創建一個已經包含數據的表並且現有一個表

我想知道是否有辦法輕鬆完成這個任務,也許是一個包含忽略約束的命令?

回答

0

從我可以從MySQL文檔看,你可以嘗試使用

SET foreign_key_checks = 0 

我遇到情況下,這並不總是奏效的職位。

您的下一個最佳選擇是使數據符合FK約束要求,然後應用約束。將FK約束添加到已有數據的表中時,這並不罕見。

相關問題