2011-02-05 2 views
0

데이터베이스 엔진 테이블 A에서 테이블 엔진 B로 변환하는 방법을 알아 내려고합니다 (이 경우 MyISAM에서 InnoDB로). 나는 MySQL 워크 벤치를 사용하여 개별 테이블에 대해이 작업을 수행 할 수 있지만, 변환 작업을 수행 할 수있는 스크립트 나 프로그램을 원합니다. 누구든지 아이디어가있어?MySQL : 테이블 엔진에 대한 대량 변환 스크립트

* EDIT * 가능한 경우 PHP를 사용하지 않고이 작업을 수행하는 데 사용할 수있는 SQL 쿼리를 선호합니다. information_schema tables 사용하여 의사 코드에서

답변

4

:

$rows = "SELECT TABLE_NAME 
    FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_SCHEMA = 'yourDBName' 
     AND ENGINE LIKE 'engineA'"; 
foreach ($rows as $table) { 
    $query = 'ALTER TABLE '.$table.' ENGINE = engineB'; 
} 
+0

는 SQL 스크립트에서 무언가, 또는 PHP 이외의 다른 스크립트 언어있어? –

+0

@EvilPhoenix : 그건 PHP가 아닙니다. 그것은 의사 코드입니다. 당신의 선택의 언어로 그것을 구현하십시오 ... 너무 어려워서는 안됩니다 ... – ircmaxell

+0

있어. 이것을 bash 스크립트로 구현했습니다. 도와 주셔서 감사합니다. –

관련 문제