この方法で作成されました:
_create table listings(
id integer unsigned NOT NULL AUTO_INCREMENT,
accountId integer unsigned default null,
title varchar(300) not null,
country integer unsigned,
region integer unsigned,
type integer unsigned,
price integer,
unit varchar(20) not null,
priceUSD decimal(12,2),
bedrooms integer unsigned,
thumbnail varchar(100) default null,
keywords text,
created datetime,
deleted boolean default 0,
fulltext index (keywords),
PRIMARY KEY (id)
) engine=MyISAM;
_
名前のないフルテキストインデックスを削除する方法は?
名前のないインデックスが:fulltext index (title ,keywords)
の場合はどうなりますか?
mysql
クライアントで次のコマンドを実行します。
mysql> SHOW CREATE TABLE listings;
インデックスのシステム割り当て名を含む、テーブルのDDLが表示されます。
ALTER TABLE listings DROP INDEX keywords;
ALTER TABLE {your_table_name} DROP INDEX {your_index_name}
OR
DROP INDEX {your_index_name} ON {your_tbl_name}
SHOW INDEX 構文を使用して、テーブルインデックス情報を取得することもできます。
_SHOW INDEX FROM listings;
_
また、インデックスの名前を指定しない場合、MySQLはインデックス付けされている列に基づいてインデックスの名前を自動的に提供します。
fulltext index (keywords)
の場合、MySQLはおそらくインデックスにkeywords
という名前を付けます。
fulltext index (title ,keywords)
の場合、MySQLはおそらくインデックスにtitle
という名前を付けます。
keywords
またはtitle
という名前のインデックスが既に存在する場合、MySQLが別の名前を付けるため、「最も可能性が高い」と言います。