代码之家  ›  专栏  ›  技术社区  ›  Haim Evgi

mysql:循环表和alter table add index

  •  6
  • Haim Evgi  · 技术社区  · 14 年前

    我有约1000个以相同前缀开头的表: table_prefix_{SOME_ID}

    什么是快速循环的方法 全部的

       ALTER TABLE `table_prefix_{some_id}` ADD INDEX `fields` (`field`)
    
    1 回复  |  直到 14 年前
        1
  •  29
  •   tpdi    14 年前

    忘记循环。就这么做吧:

    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);