我希望有人可以验证这是否是正确的语法和使用liquibase填充数据库的正确方法?所有,我想要更改表中行的值,我这样做:
<changeSet author="name" id="1231">
<update tableName="SomeTable">
<column name="Properties" value="1" />
<where>PROPERTYNAME = 'someNameOfThePropery"</where>
</update>
<changeSet>
我想要的只是在某个表中连续更改一个值。上述方法不起作用,虽然应用程序编译后并没有抱怨,但唉,价值没有改变。
谢谢
答案 0 :(得分:44)
上述答案过于复杂,大多数情况下这已经足够了:
<changeSet author="name" id="123">
<update tableName="SomeTable">
<column name="PropertyToSet" value="1" />
<where>otherProperty = 'otherPropertyValue'</where>
</update>
</changeSet>
使用单引号很重要&#39;而不是双引号&#34;在WHERE子句中。
答案 1 :(得分:1)
可以通过这种方式修改上述帖子以更正格式。插入的值=“1”,这是本帖子问题的预期结果。
<changeSet author="name" id="1231">
<update catalogName="dbname"
schemaName="public"
tableName="SomeTable">
<column name="Properties" **value="1"** type="varchar(255)"/>
<where>PROPERTYNAME = 'someNameOfThePropery'</where>
</update>
</changeSet>
答案 2 :(得分:-1)
是的,这是可能的。请参阅以下语法:
<changeSet author="name" id="1231">
<update catalogName="dbname"
schemaName="public"
tableName="SomeTable">
<column name="Properties" type="varchar(255)"/>
<where>PROPERTYNAME = 'someNameOfThePropery'</where>
</update>
</changeSet>
的更多信息