2

我正在尝试做

ALTER table tbl_name Engine=MyISAM;

我得到

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

如何在不删除具有外键的表的情况下执行上述查询?

先感谢您!

我是否正确理解UPDMyIsam仅支持全文搜索?

4

2 回答 2

11

SET FOREIGN_KEY_CHECKS = 0;没有帮助。

如果有其他 InnoDB 表包含对要转换为 MyISAM 的表的外键引用,则必须手动删除外键。另请参阅MySQL 网站上的这篇文章

于 2013-01-11T23:57:19.377 回答
4

尝试

SET FOREIGN_KEY_CHECKS = 0;
ALTER table tbl_name Engine=MyISAM;
SET FOREIGN_KEY_CHECKS = 1;

InnoDB 存储引擎支持检查外键约束。对于InnoDB 以外的存储引擎,MySQL Server 解析 CREATE TABLE 语句中的 FOREIGN KEY 语法,但不使用或存储它。

外键差异

于 2012-06-18T09:26:24.453 回答