7

同じプレフィックスで始まる〜1000個のテーブルがあります:( table_prefix_{SOME_ID} 別のテーブルからIDを取得できます)

mysql のすべてのテーブルをループして実行する高速な方法は次のとおりです。

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

1 に答える 1

29

ループを忘れてください。これを行うだけです:

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

于 2010-08-25T10:55:18.827 に答える