mysql:循环遍历表和alter table添加索引

时间:2010-08-25 10:48:13

标签: mysql iteration alter-table

我有〜1000个以相同前缀开头的表: table_prefix_{SOME_ID}(我可以从另一张表中取出ID)

在mysql中循环遍历 所有 表的快速方法是什么,并执行:

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

1 个答案:

答案 0 :(得分:25)

忘记循环。就这样做:

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