mysql - 如何在IF语句中执行代码块(但不在过程中)

时间:2014-08-04 18:22:33

标签: mysql mariadb

我知道版本跟踪数据库有更好的方法,但为了争论......我怎样才能使这个方法有效。

我只想要一个包含db_versionv01列等的表v02 ... 并且只有在证明vXX不存在时才执行代码块。

例如:

IF NOT EXIST ( 
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS
       WHERE TABLE_NAME='db_version' AND column_name='v05'
 ) THEN
      ALTER TABLE ... 
      ALTER TABLE ...
      ALTER TABLE ADD INDEX ...
      ALTER TABLE db_version ADD column v05 int;  /* now this block wont be run next time */
 END IF;

这可能吗?我在网上看到的所有例子都只是在PROCEDURE中运行。 如何在常规sql脚本(mysql -p < db_version.sql

中执行此操作

0 个答案:

没有答案