【发布时间】:2017-10-10 18:35:01
【问题描述】:
当我在我的 MySQL 5.6 MyISAM 表中使用全文搜索时,有时会出现错误,但大多数情况下它都可以正常工作。
这个查询工作正常
SELECT title, MATCH(title, keywords, description) AGAINST ('background+water+sea') AS 'relevance' FROM `content` WHERE
MATCH(title, keywords, description) AGAINST ('background+water+sea');
但是这个没有
SELECT title, MATCH(title, keywords, description) AGAINST ('background+water+sea+blue') AS 'relevance' FROM `content` WHERE
MATCH(title, keywords, description) AGAINST ('background+water+sea+blue');
它们基本相同,只有第二个也要求“蓝色”。表中有超过 100,000 行。如果在网站上运行,它会给我“#2014 - 命令不同步;您现在无法在 phpMyAdmin 中运行此命令”和“来自存储引擎的错误 -1”。
有什么想法吗?
【问题讨论】:
-
只有从网站运行时才会出现问题?如果您在 phpmyadmin 或您正在使用的任何工具上运行脚本,您会得到同样的错误吗?
-
如果我在 phpMyAdmin 中运行它,我会收到“#2014 - 命令不同步;您现在无法运行此命令”错误消息。如果我在网站上运行它,我会收到“来自存储引擎的错误 -1”错误消息
-
似乎与 phpMyAdmin 中的这个 bug 相符:sourceforge.net/p/phpmyadmin/bugs/3475 据报道在 PMA 3.5 中已修复。你用的是什么版本?
-
我从未听说过来自 MyISAM 的“Got error -1”问题。它总是与 InnoDB 相关联。您能否在您的网站上使用
SHOW CREATE TABLE content;并确认此表使用哪个引擎?同时运行SELECT @@global.innodb_force_recovery;并确认它为零 (0)。 -
结果如下: CREATE TABLE
content(IDmediumint(8) unsigned NOT NULL,titlevarchar(40) DEFAULT NULL,keywordsvarchar(255) DEFAULT NULL,descriptionvarchar(255) 默认空值,主键 (ID),全文键IDX_srch(title,keywords,description) ) ENGINE=MyISAM 默认字符集=utf8
标签: mysql full-text-search fulltext-index