2014-03-07 5 views
0

나는 매일 수천 개의 레코드가있는 수천 개의 테이블이있는 데이터베이스를 가지고 있습니다. 이 모든 일일 테이블은 같은 구조를 가지고 있습니다.MySQL에서 한 번에 여러 테이블 업데이트

내 문제는 모든 테이블에서 가능한 한 가장 쉬운 방법으로 업데이트 작업을 적용하고 싶습니다.

UPDATE table_1 SET colA = 'somevalue' WHERE <condition>; 
UPDATE table_2 SET colA = 'somevalue' WHERE <condition>; 

는 그래서 모든 매개 변수가이에

어떤 도움을 매우 높이 평가 될 테이블 이름을 제외하고 동일하게 유지됩니다 분명하다.

감사합니다. 쿠셜.

+0

루프를 통해 실행을 구성 할 수 있습니다. – zogby

+0

'pl/sql procedure'을 만들고 나머지는 처리 할 것입니다 –

+0

예, 제가 마음 속에 가지고 있던 옵션은 Stored Procedures였습니다. 다른 방법이 있는지 궁금 해서요. 저장 프로 시저를 한번 시도 할 것입니다. – Cooshal

답변

1

information_schema에서 테이블 이름을 읽고이를 사용하여 업데이트 문을 작성하십시오. 이것을 파일에 쓰고 다시 읽으십시오.

SELECT CONCAT('UPDATE ', table_name, ' SET col = "whatever" where condition = true;') 
INTO OUTFILE '/tmp/my_update.sql' 
FROM information_schema.tables t 
WHERE t.table_schema = 'your_database_name'; 

SOURCE '/tmp/my_update.sql'; 

그게 전부입니다.

+0

이게 나를 위해 작동합니다. 감사 ! – Cooshal

관련 문제