1

编辑:想通了这个问题。我对此的回答提供了详细信息。

使用 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 之前的错误的结果。

4

2 回答 2

0

好吧,伙计们,我有点尴尬。我有两个开发服务器(你们中的大多数人都可以看到这是怎么回事)。服务器 A 是 mysql 5.1,服务器 B 是 mysql 5.6。NetBeans 项目和我的 DNS 条目仍然指向旧服务器,但我的 phpMyAdmin A 记录已经指向我的新服务器。修复后,一切正常。感谢阅读,至少!

于 2013-09-05T05:55:09.937 回答
0

mysql 中的默认存储引擎是 InnoDB,它不支持 FULLTEXT 索引只需将存储引擎更改为 MyISAM 即可解决您的问题

于 2013-09-05T05:38:40.407 回答