2011-12-19 139 views
6

我的數據庫目前正在使用InnoDB引擎。現在我想添加全文搜索功能,這就是爲什麼我想將我的表格轉換爲MyISAM。但是這樣做會打破所有外鍵。我怎樣才能安全地將我的表引擎更改爲MyISAM?將InnoDB轉換爲MyISAM的最安全方法是什麼?

如何在將表格更改爲MyISAM引擎後使用SELECT ... JOIN?

ALTER TABLE jobs ENGINE = MyISAM; 
Cannot delete or update a parent row: a foreign key constraint fails 

回答

6

我建議你做分貝的轉儲,改變所有從InnoDB的那個文件的MyISAM文本,然後加載修改後的文件

4

據我所知,MyISAM不支持外鍵(比較InnoDB提供的功能與MyISAM的功能)。 MySQL試圖告訴你,在將引擎更改爲MyISAM之前,必須先刪除引用jobs表的所有外鍵約束。

+0

我有相同的錯誤信息轉換表,只要我刪除所有的外鍵約束,轉換工作完美。所以正如科漢伊所說的那樣! (在刪除它們之前請考慮一下你在做什麼......在我的情況中,約束是無用的,但在某些情況下,它們可能會出於某種原因(爲了保證數據庫的完整性,如果某些應用程序被竊聽?);-) – lucaferrario 2014-02-11 20:05:19

相關問題