DB2 标识列的问题,急急急
DB2标示列( generated always)的数据迁移问题,我自己在网了看了好像可用用load的时候用选项modified by generatedoverride 或者modified by generatedignore ,我的问题是假如用这两种方法后,以后用DB2管理器自己生产的时候会不会和我laod进去的值会有冲突,generatedoverride 的意识是不是就是用我提供的标识列的值去覆盖DB2管理器本来生成的值,generatedignore 是不是就是值忽略到DB2管理器生成的值,如果真要是这样的话,那DB2管理器后来生成的值就有可能会跟以前表里面有的数据(load进去的)会有冲突。
还有个问题就是假如我在那个标示列上建立一个唯一索引,这样是不是DB2管理器在生成值的时候就回去检查以前原有的值,假如有重复的值,它就会往后推直到找到一个非重复的值时为止???
[解决办法]
如果标识列是由其他字段生成的 那用generatedignore或者generatedoverride都可以
如果是自增的最好是用generatedignore
如果是有唯一索引的列,生成值的时候如果重复会报错
这种最好用序列去控制
[解决办法]
标识列对于开发人员是非常方便的,但是数据迁移和备份的时候问题就来了
先关闭标识列,再迁移数据,最后再启用标识列