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. 

ただし、FK と FULLTEXT インデックスを使用できるようにするために、この mysql バージョンをインストールしました。

同じ正確な SQL を mysql クライアント (phpMyAdmin、/usr/local/bin/mysql [5.6.13]、または /usr/bin/mysql [5.5.32]) にコピーすると、問題なく動作します。Yii は独自のバージョンの mysql をシューホーニングしていますか? Yii が PDO を使用していることは間違いありません。Yii と一緒に使用しない場合、PDO がこのセットアップで動作することを私は知っています。この問題を検索してみましたが、人々が 5.6 より前の間違いを犯しているという結果が出てきました。

4

2 に答える 2

0

mysql のデフォルトのストレージ エンジンは FULLTEXT インデックスをサポートしない InnoDB です。ストレージ エンジンを MyISAM に変更するだけで問題が解決します

于 2013-09-05T05:38:40.407 に答える