【问题标题】:mysql : loop over tables and alter table add indexmysql:遍历表并更改表添加索引
【发布时间】:2010-08-25 10:48:13
【问题描述】:

我有 ~1000 个以相同前缀开头的表: table_prefix_{SOME_ID}(我可以从另一个表中获取 id)

在 mysql 中循环 所有 表并执行以下操作的快速方法是什么:

   ALTER TABLE `table_prefix_{some_id}` ADD INDEX `fields` (`field`)

【问题讨论】:

    标签: mysql iteration alter-table


    【解决方案1】:

    忘记循环。只需这样做:

    select concat( 'alter table ', a.table_name, ' add index `fields` (`field`);' )
    from information_schema.tables a 
    where a.table_name like 'table_prefix_%';
    

    然后获取结果集并将其作为 SQL 脚本运行。

    顺便说一句,你的意思可能是create index index_name on table_name( column_name);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2017-05-19
      • 2021-05-17
      • 2017-04-26
      相关资源
      最近更新 更多