编辑:想通了这个问题。我对此的回答提供了详细信息。
使用 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*",
);
如果我尝试运行它,我会得到
General error: 1214 The used table type doesn't support FULLTEXT indexes.
但是,我专门安装了这个 mysql 版本,以便能够使用 FK 和 FULLTEXT 索引。
如果我将完全相同的 SQL 复制到 mysql 客户端(无论是 phpMyAdmin、/usr/local/bin/mysql [5.6.13] 还是 /usr/bin/mysql [5.5.32]),它都可以正常工作。Yii 是否在里面硬塞了它自己的 mysql 版本?很确定 Yii 使用 PDO,我知道 PDO 在不与 Yii 一起使用时可以在此设置上工作。我试过搜索这个问题,我只是想出了人们犯了 5.6 之前的错误的结果。