mysql - 不带引号的 boolean 插入 - Liquibase over MySQL

标签 mysql sql boolean liquibase

我需要使用 Liquibase 在此用户表中插入新记录。它在 PostgreSQL 上运行良好,但在涉及 MySQL 时,SQL 输出对 boolean 字段 (u_administrator) 有引号。像这样:

INSERT INTO users (u_name, ..., u_administrator) VALUES ('Administrator',..., '1')

    <changeSet author="jmartins" id="AdminInsertion">
        <insert tableName="users" dbms="postgresql">
            <column name="u_name" value="Administrator"/>
            ...
            <column name="u_administrator" value="true"/>
        </insert>
        <insert tableName="users" dbms="mysql">
            <column name="u_name" value="Administrator"/>
            ...
            <column name="u_administrator" value="1"/>
        </insert>
    </changeSet>

所以我可以强制 liquibase 输出不带引号的“u_administrator”,这样它就可以在 MySQL 上正确插入。我需要使用 < sql> 自定义命令吗?

还是谢谢。

最佳答案

使用 valueBoolean 而不是 value 来告诉 liquibase 它需要使用特定于数据库的值作为 boolean 值。

关于mysql - 不带引号的 boolean 插入 - Liquibase over MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25914878/

相关文章:

mysql - 与右表中的 where 进行左连接

php - 如何仅选择第一个数字是 0 到 9 之间的数字的行?

带内部连接的 mysql 触发器

mysql - SQL BETWEEN 区分大小写

mysql - 复制数据但将 FK 和 PK 移至新数据

c++ - c++:为什么为char分配true或false可以正常编译

java - 对 false boolean 值使用 not 语句

mysql - SQL查询以根据其他列获取客户

mysql - 前导逗号还是尾随逗号?

php - 在 PHP 的 Postgres 中使用 boolean 类型