mysql脚本中的IF条件

时间:2012-03-28 00:40:38

标签: mysql if-statement

我正在尝试编写一个脚本来修补我们的mysql数据库。我可以运行这样的东西:

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

我发现有关MySql的有趣之处是:它不支持脚本中的条件。我不想创建一个存储过程,调用它并将其放在我的脚本中。那看起来很蠢......

有没有人有更好的方法?

由于

1 个答案:

答案 0 :(得分:1)

这个(模式)解决方案只是一个解决方法,可以帮助您在MySQL脚本中使用IF条件 -

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