我正在运行一个查询,该查询将返回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