results_ %라는 테이블 집합이 있는데 모두 같은 구조입니다.쿼리 결과 문을 실행하십시오.
이 테이블에 색인을 추가하고 싶습니다.
는 내가 선택 쿼리 결과의 행으로 각 테이블에 대한 ALTER 문을 얻을 수 있지만이 문을 실행하는 방법을 모른다 :
select concat('alter table ', test_db.table_name, ' add index `did` (`did`);') as statement
from information_schema.tables test_db
where test_db.table_name like 'results_%';
나는 무엇을 놓치고?
(난 그냥 나에게 표시가 대신 실행하려는)을 OUPUT : 아무 여전히
drop procedure if exists altlike;
delimiter //
create procedure altlike()
begin
set group_concat_max_len = 65535;
select @altrlk:= concat('alter table ', test_db.table_name , ' add index `did` (`did`);')
from information_schema.tables test_db
where test_db.table_name like "results_%";
prepare statement from @altrlk;
execute statement;
end //
delimiter ;
call altlike();
그러나 :
+---------------------------------------------------------+
| statement |
+---------------------------------------------------------+
| alter table results_Em7777_spa add index `did` (`did`); |
| alter table results_KaEng_eng add index `did` (`did`); |
| alter table results_Ka_spa add index `did` (`did`); |
| alter table results_Mc_spa add index `did` (`did`); |
| alter table results_Mo_eng add index `did` (`did`); |
| alter table results_Pe_eng add index `did` (`did`); |
| alter table results_SU_spa add index `did` (`did`); |
| alter table results_Ta_spa add index `did` (`did`); |
| alter table results_ba_eng add index `did` (`did`); |
| alter table results_br_eng add index `did` (`did`); |
| alter table results_ca_spa add index `did` (`did`); |
| alter table results_ch_spa add index `did` (`did`); |
| alter table results_da_spa add index `did` (`did`); |
| alter table results_ga_eng add index `did` (`did`); |
| alter table results_ge_spa add index `did` (`did`); |
| alter table results_gk_eng add index `did` (`did`); |
+---------------------------------------------------------+
16 rows in set (0.00 sec)
[편집]
내가 시도luck : 마지막으로 일치하는 테이블 (results_gk_eng) 만 변경합니다.
는
당신은 준비/실행을 시도 할 수는 : http://dev.mysql.com/doc/refman/5.1/en/sql-syntax-prepared-statements.html – zerkms
나는 또한 그 거라 생각 생각이지만 문서를 읽은 후에도 나는 이것을 사용하는 방법을 알 수 없다. – NotGaeL
무엇이 문제입니까? 결과 집합을 반복 실행하고 줄 단위로 실행하는 프로 시저 작성 – zerkms