3

我正在尝试将表的类型更改为 MyISAM,但它不允许我:

ALTER TABLE `mytable` ENGINE = MYISAM

MySQL 说:

文档 1217 - 无法删除或更新父行:外键约束失败

4

2 回答 2

1

MISAM 不支持外键

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

因此,您必须删除所有外键才能使用 MISAM。例子:

ALTER TABLE mytable DROP FOREIGN KEY key_name 
于 2012-11-05T23:01:24.253 回答
0

将您的 mysql 升级到 5.6.4 或更高版本。

随着 5.6.4 mysql innodb 具有全文支持。

http://dev.mysql.com/doc/refman/5.6/en/news-5-6-4.html

InnoDB 笔记

MySQL 现在支持 InnoDB 表的 FULLTEXT 索引。核心语法与早期版本的 FULLTEXT 功能非常相似,包括 CREATE TABLE 和 CREATE INDEX 语句,以及 SELECT 语句中的 MATCH() ... AGAINST() 子句。新的@ 运算符允许对文档中彼此接近的术语进行邻近搜索。详细的搜索处理由一组新的配置选项控制:innodb_ft_enable_stopword、innodb_ft_server_stopword_table、innodb_ft_user_stopword_table、innodb_ft_cache_size、innodb_ft_min_token_size 和 innodb_ft_max_token_size。您可以通过查询新的 INFORMATION_SCHEMA 表来监控 InnoDB 全文搜索系统的工作情况:innodb_ft_default_stopword、innodb_ft_index_table、innodb_ft_index_cache、innodb_ft_config、innodb_ft_deleted、

于 2012-11-05T23:06:44.740 回答