编辑:解决了问题。我对此的回答提供了详细信息。
使用 Yii 1.1.13, MySQL 5.6.13, PHP 5.4.9
在我用 Yii 开发的应用程序中,我使用了带有 CDbCriteria 的 FULLTEXT 查询:
$criteria = new CDbCriteria;
$criteria->condition = "MATCH (item_name, description) AGAINST(:keyword IN BOOLEAN MODE)";
$criteria->params = array(
':keyword' => "$this->q*",
);
如果我尝试运行它,我会得到 p>
General error: 1214 The used table type doesn't support FULLTEXT indexes.
但是,我专门安装了这个 mysql 版本,以便能够使用 FKs 和 FULLTEXT 索引。
如果我将完全相同的 SQL 复制到 mysql 客户端(无论是 phpMyAdmin、/usr/local/bin/mysql [5.6.13] 还是/usr/bin/mysql [5.5.32]),它都可以正常工作. Yii shoehorning 它自己的 mysql 版本在那里吗?很确定 Yii 使用 PDO,而且我知道 PDO 在不与 Yii 一起使用时可以在此设置上工作。我已经尝试搜索这个问题,我只是想出了人们犯 pre-5.6 错误的结果。
最佳答案
mysql默认的存储引擎是InnoDB,不支持FULLTEXT索引,把存储引擎改成MyISAM就可以解决问题
关于php - 不支持 Yii FULLTEXT,但绝对支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628250/