ALTER table tbl_name Engine=MyISAM;
,我得到
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
我怎麼能執行上面的查詢,但不刪除有外鍵的表?
預先感謝您!
UPD我理解正確,只有MyIsam
支持全文搜索?
ALTER table tbl_name Engine=MyISAM;
,我得到
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
我怎麼能執行上面的查詢,但不刪除有外鍵的表?
預先感謝您!
UPD我理解正確,只有MyIsam
支持全文搜索?
嘗試
SET FOREIGN_KEY_CHECKS = 0;
ALTER table tbl_name Engine=MyISAM;
SET FOREIGN_KEY_CHECKS = 1;
InnoDB存儲引擎支持檢查外鍵約束。對於除InnoDB以外的存儲引擎,MySQL服務器分析CREATE TABLE語句中的FOREIGN KEY語法,但不使用或存儲它。
您至少可以給出一個提示,即MyISAM不支持外鍵值得讚揚;) – fancyPants
感謝您的提示。我不知道:) –
SET FOREIGN_KEY_CHECKS = 0;
沒有幫助。
如果還有其他InnoDB表包含要轉換爲MyISAM的表的外鍵引用,則必須手動刪除外鍵。另見this post on MySQL site。
爲什麼你想放棄外鍵給你的保護? –