2012-03-28 12 views
0

mysqlデータベースにパッチを適用するスクリプトを作成しようとしています。私は実行することができます。このような何か:mysqlスクリプトのIF条件

If IsTargetVersion(1.1) 
THEN 
ALTER TABLE t1 ENGINE = InnoDB; 
END IF; 

私は、MySQLについて見つけおかしい事はある:条件ならば、それはスクリプトではサポートされていません。私はストアプロシージャを作成し、それを呼び出してスクリプトにドロップしたくありません。それは愚かに見える...

誰かがより良いアプローチをしていますか?

おかげ

+0

言い訳自分の無知が、正確** IsTargetVersion **何ですか? – inhan

+0

バージョンを伝える機能 – Frank

答えて

1

これはMySQLのスクリプトで条件のIFを使用するのに役立ちます(パターン)ソリューションだけの回避策 -

SET @s = IF(IsTargetVersion(1.1), 'ALTER TABLE t1 ENGINE = InnoDB', 'DO SLEEP(0)'); 
PREPARE stmt1 FROM @s; 
EXECUTE stmt1; 
+0

ありがとうございました+1 –