【问题标题】:Show a tables FULLTEXT indexed columns显示一个表 FULLTEXT 索引列
【发布时间】:2010-11-05 15:53:19
【问题描述】:

我希望运行一个查询,该查询将返回一个表中的 FULLTEXT 索引的列列表。该表是 MyISAM 格式,我将使用 php 来构造查询。

理想情况下,我会运行查询,它会返回信息,这样我就可以构造一个逗号分隔的列字符串。

例如“名字,姓氏,电子邮件”

这在 MySQL 中可行吗?

【问题讨论】:

    标签: mysql fulltext-index


    【解决方案1】:

    您可以从 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;
    

    【讨论】:

      【解决方案2】:

      这是另一种方式:

      SHOW CREATE TABLE [database_name].[table_name]
      

      用您自己的值替换括号中的占位符。

      仔细阅读 FULLTEXT 行的输出。

      【讨论】:

        猜你喜欢
        • 2015-06-23
        • 1970-01-01
        • 2011-10-26
        • 2023-03-19
        • 1970-01-01
        • 2017-01-20
        • 1970-01-01
        • 1970-01-01
        • 2014-03-08
        相关资源
        最近更新 更多