DB2 Load导入自增字段数据
DB2 Load导入自增字段数据
[sql]
在建表时,对于一些表的主键设置为自增,这样在对表进行数据插入、修改、删除时,会方便很多,但是一旦表的主键作为其他表的外键,那么在对数据进行迁移时,就会出现数据不匹配的问题,如何解决对于自增字段的数据和数据文件匹配问题呢。在深入研究load后发现,load对于自增数据的导入,有三种方式:IDENTITYIGNOR、IDENTITYMISSING、IDENTITYOVERRIDE。在实际测试后,对于IDENTITYIGNOR、IDENTITYMISSING,自增字段按照计数器累加;IDENTITYOVERRIDE,自增字段按照数据文件的数据导入表中。
建表:
[sql]
CREATE TABLE AAD (
A_1 INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
A_2 VARCHAR(50)
)
;
数据文件内容(e:\load.txt):
[sql]
2,"22"
3,"33"
导入命令:
[sql]
LOAD CLIENT FROM 'E:\LOAD.TXT' OF DEL
MODIFIED BY IDENTITYOVERRIDE
REPLACE INTO AAD;
加上IDENTITYOVERRIDE后,Load将把数据文件中的数值,填充到表的自增字段中。