mysql - mysql脚本中的IF条件

标签 mysql if-statement

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

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

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

有人有更好的方法吗?

谢谢

最佳答案

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

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

关于mysql - mysql脚本中的IF条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9899663/

相关文章:

python - 语句/查询缓存与 Python 数据库库和绑定(bind)参数?

MYSQL子查询更新后返回多于1行触发器

php - 如何使表格列可排序

mysql - 需要帮助构建 SQL 查询

MySQL SELECT/GROUP BY 丢失 NULL

有人可以将此程序集转换为 C 语言吗

java - Java 中的 "reached end of file while parsing"是什么意思?

javascript - 这是什么意思 : if( variable ){/* do something */}

variables - 批量检查变量是否为负数

java - 如何将MySQL数据库中的数据导出为特定格式的.flr或.pl文件