我有一个表table1
,其中包含以下列和示例数据:
| 身份证|色谱柱1|
| --------------|--------------|
| 1|美国广播公司|
| 二|def|
我需要添加一个列和输出将是这样的后,使用下面
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.3.xsd">
<changeSet id="add-date-column" author="gwylimwilliams">
<addColumn tableName="table1">
<column name="column2" type="date">
</column>
</addColumn>
</changeSet>
</databaseChangeLog>
使用上述模式后,新列将像这样添加:
| 身份证|色谱柱1|色谱柱2|
| --------------|--------------|--------------|
| 1|美国广播公司||
| 二|def||
你可以看到第2列是空的,现在我想从.csv
文件中加载这个列值,基于id
。我不想触摸column1
值。我知道如何加载数据和uploadLoadData在那里,我们可以使用跳过,但我们如何插入条件,或者我们有任何最好的方法来实现这一点,我们在csv文件中有所有列数据,只想根据id插入column 2数据
<changeset author="gwylimwilliams" id="update-column">
<loadData
file="abc.csv"
seperator=","
tableName = "table1" >
<column name="column1" type="skip"/>
<column name="column2" type="datetime"/>
</loadData>
</changeset>
1条答案
按热度按时间8ehkhllq1#
假设
id
列存在于表中,那么您可以使用loadUpdateData
。