liquibase 使用 LIKE 子句更新 where

问题描述 投票:0回答:1

我想在 liquibase 更新中添加 LIKE 子句。做过类似的事情,但似乎无法正常工作:

    <changeSet id="LoremIpsum" author="JohnDoe">
    <update tableName="table_for_John_Doe">
        <column name="id" value="000001"/>
        <where>
            from LIKE :first OR
            from LIKE :second OR
            to LIKE :first OR
            to LIKE :second
        </where>
        <whereParams>
            <param name="first" value="TEST1"/>
            <param name="second" value="TEST2"/>
        </whereParams>
    </update>
</changeSet>

我尝试添加

''
但再次没有预期的结果。如果它应该有效,那么也许我在其他地方犯了错误。

我应该编写原生 sql 查询吗?

liquibase
1个回答
0
投票

我认为问题在于您错误地使用了 whereParams
看看这里:LiquiBase:如何在 中使用

对于这样的桌子:

id 名字 要更新的列
1 AA
2 AB
3 BA

更改集,例如更新名称以 A 开头的所有行,应如下所示:

    <changeSet id="LoremIpsum" author="JohnDoe">
        <update tableName="table_for_John_Doe">
            <column name="column_to_update" value="000001"/>
            <where>
                :name LIKE :value
            </where>
            <whereParams>
                <param name="name" value="A%"/>
            </whereParams>
        </update>
    </changeSet>
© www.soinside.com 2019 - 2024. All rights reserved.