liquibase判断mysql表字段是否存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了liquibase判断mysql表字段是否存在相关的知识,希望对你有一定的参考价值。

背景:今天在部署sql代码的时候,发现以前一直使用的判断字段存在的方式不起作用了,如下:

<preConditions onFail="MARK_RAN" >
        <not>
            <columnExists schemaName="${schema.name}" tableName="prize" columnName="reward_service_category" />
        </not>
    </preConditions>



在网上找了好久方法,liquibase的资料太少,最后决定使用存储过程去判断,这种方法确实好用。


delimiter //
create procedure add_more_to_logins() begin    
    if not exists(select * from information_schema.COLUMNS
              where table_name = ‘a‘ AND column_name = ‘b‘ and table_schema = database()) THEN        
        alter table a add `is_mobile` tinyint(1) null after reason;
    end if;
    
END;
//
delimiter ;

本文出自 “Victor的奋斗历程” 博客,请务必保留此出处http://victor2016.blog.51cto.com/6768693/1877797

以上是关于liquibase判断mysql表字段是否存在的主要内容,如果未能解决你的问题,请参考以下文章

mysql判断表是不是存在

PHP MYSQL 怎么判断某个表的字段是不是存在

mysql 判断表字段或索引是否存在

mysql判断表字段或索引是否存在,然后修改

php如何判断一个字段是不是存在

Mysql 判断表或字段是否存在新增/修改表结构sql