假设有以下 csv:
a,b,c
1,2,3
其中 a、b、c 是列名,1、2、3 是值。 是否可以只加载 a、b 列?
<loadUpdateData tableName="TABLE"
file="file.csv"
primaryKey="a">
<column name="a" header="a"/>
<column name="b" header="b"/>
</loadUpdateData>
这会产生一个 SQL 错误,因为它会尝试插入列 c。 我正在使用 MySQL。
最佳答案
我自己还没有尝试过,但查看代码(LoadDataChange
)似乎有一个选项可以“跳过”列配置:
if ("skip".equalsIgnoreCase(columnConfig.getType())) {
continue;
}
所以也许您可以为“c
”添加一个列配置并将其类型设置为“skip”:
<column name="c" header="c" type="skip" />
关于mysql - liquibase中的loadUpdateData,仅从csv中选择一些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30884167/