我正在寻找运行一个查询,该查询将返回表中 FULLTEXT 索引的列列表。该表是 MyISAM 格式,我将使用 php 来构造查询。
理想情况下,我会运行查询,它会返回信息,这样我就可以构造一个逗号分隔的列字符串。
例如“名字,姓氏,电子邮件”
这在 MySQL 中可能吗?
我正在寻找运行一个查询,该查询将返回表中 FULLTEXT 索引的列列表。该表是 MyISAM 格式,我将使用 php 来构造查询。
理想情况下,我会运行查询,它会返回信息,这样我就可以构造一个逗号分隔的列字符串。
例如“名字,姓氏,电子邮件”
这在 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';
如果表上有超过 1 个,则显示 FULLTEXT 索引中列的各种组合:
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]
用您自己的值替换括号中的占位符。
仔细阅读 FULLTEXT 行的输出。