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。
为什么你想放弃外键给你的保护? –