我正在尝试将一个表的类型更改为MyISAM,但是它不允许我:
ALTER TABLE `mytable` ENGINE = MYISAM
MySQL提示:
该错误提示意为,试图在具有外键约束的表中删除或更新父行数据时,由于子表中存在对应父行的关联数据,因此操作失败。文档 1217 - 无法删除或更新父行:外键约束失败
我正在尝试将一个表的类型更改为MyISAM,但是它不允许我:
ALTER TABLE `mytable` ENGINE = MYISAM
MySQL提示:
该错误提示意为,试图在具有外键约束的表中删除或更新父行数据时,由于子表中存在对应父行的关联数据,因此操作失败。文档 1217 - 无法删除或更新父行:外键约束失败
MYISAM不支持外键
对于除InnoDB之外的存储引擎,MySQL服务器会解析CREATE TABLE语句中的FOREIGN KEY语法,但不使用或存储它。
因此,您必须删除所有外键才能使用MYISAM。例如:
ALTER TABLE mytable DROP FOREIGN KEY key_name
将您的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功能非常相似,包括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和innodb_ft_being_deleted。