我想將我的一個數據庫從myisam遷移到innodb。主要原因是允許我的應用程序遵守參照完整性。從myisam遷移到innodb時的參照完整性問題
這是我做過什麼
- 導出當前的MyISAM數據庫
- 丟棄數據庫
- 切換到InnoDB的數據庫http://parasjain.net/2010/06/08/how-to-switch-to-innodb-database-in-mysql/
- 驗證的發動機開關,然後創建新的數據庫
現在,參照完整性起作用。例如,如果我創建父p1和子c1並在c1中引用p1,則只要存在依賴它的子項,我就不能刪除P1。
到目前爲止好
但是,當我從導出轉儲
的問題是,參照完整性很榮幸爲新的數據導入舊數據出現問題。但是在我現有的數據中,如果有任何關係像c2那樣引用p2,那麼我可以刪除p2以打破引用完整性。 c2現在是孤兒。
是否有修復/重新索引表的方法,以便對現有數據執行參照完整性?
你可以從'SHOW CREATE TABLE'爲兩個受影響的相關表發佈輸出嗎? – Mike 2010-07-08 22:53:12