【发布时间】: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
我有 ~1000 个以相同前缀开头的表:
table_prefix_{SOME_ID}(我可以从另一个表中获取 id)
在 mysql 中循环 所有 表并执行以下操作的快速方法是什么:
ALTER TABLE `table_prefix_{some_id}` ADD INDEX `fields` (`field`)
【问题讨论】:
标签: mysql iteration alter-table
忘记循环。只需这样做:
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);
【讨论】: