我正在運行一個查詢,該查詢將返回FULLTEXT索引表中的列的列表。該表格是MyISAM格式,我將使用PHP來構建查詢。顯示錶FULLTEXT索引列
理想情況下,我會運行查詢,它會返回信息,所以我可以構造一個逗號分隔的字符串的列。
例如「first_name,last_name,email」
這在MySQL中可能嗎?
我正在運行一個查詢,該查詢將返回FULLTEXT索引表中的列的列表。該表格是MyISAM格式,我將使用PHP來構建查詢。顯示錶FULLTEXT索引列
理想情況下,我會運行查詢,它會返回信息,所以我可以構造一個逗號分隔的字符串的列。
例如「first_name,last_name,email」
這在MySQL中可能嗎?
您可以從information_schema.STATISTICS表中獲取該信息。
我給你查詢來獲取表中所有列在一個或多個FULLTEXT索引中的列,因爲我認爲這就是你所要求的。請記住,每個FULLTEXT索引中列的特定組合非常重要。 MySQL不能使用FULLTEXT索引來搜索多個列,除非有一個包含所有列的FULLTEXT索引。
這裏,讓你要求輸出的第一個查詢:
select group_concat(distinct column_name)
from information_schema.STATISTICS
where table_schema = 'your_db'
and table_name = 'your_table'
and index_type = 'FULLTEXT';
而這裏的一個,顯示列的FULLTEXT indexe各種組合,如果有超過1桌子上:
select index_name, group_concat(column_name) as columns
from information_Schema.STATISTICS
where table_schema = 'your_db'
and table_name = 'your_table'
and index_type = 'FULLTEXT'
group by index_name;
這裏的另一種方式:
SHOW CREATE TABLE [database_name].[table_name]
替換方括號中的佔位符w^ith你自己的價值觀。
細讀FULLTEXT行的輸出。
太好了,我以前一直盲目忽略那個information_schema數據庫,現在你已經把我的眼睛打開了一個可能性的世界! – th3hamburgler 2010-11-05 16:48:16