2010-08-25 40 views
6

我有一個具有相同前綴的開始〜1000表: table_prefix_{SOME_ID}(我可以從另一個表的ID)MySQL的:遍歷表和改變表添加索引

什麼是快速地遍歷所有在mysql中的表,做:

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

回答

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

+2

寫代碼的代碼很酷。 – 2012-11-13 16:38:40