我想在 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 查询吗?
我认为问题在于您错误地使用了 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>