Db2: db2look导出的表定义无法用于创建表-SQL1860N Reason code = “5“

问题描述:


使用db2look导出表定义,然后再使用该定义创建表报错 SQL1860N RC=5,导出的表定义如下:

db2 "CREATE TABLE mqs20201208 (
                  STORETIME DATE NOT NULL , 
                  IMAGEOBJECT BLOB(10485760) LOGGED NOT COMPACT NOT NULL , 
                  UUID VARCHAR(36) )   
                 PARTITION BY RANGE(STORETIME) 
                 (PART PART20140101 STARTING('2014-01-01') ENDING('2014-01-01') IN TSP_MIBSSE LONG IN TSP_BLOB,  
                 PART PART201704 STARTING('2017-04-13') ENDING('2017-04-30') IN TSP_MIBSSE LONG IN TSP_BLOB, 
                 PART PART202011 STARTING('2020-01-01') ENDING('2020-12-31') IN TSP_BLOB LONG IN TSP_BLOB) 
                 "


问题重现:


如果直接上面的表定义创建表,会报错 SQL1860N  Table space "TSP_BLOB" is not compatible with table space "TSP_BLOB". Reason code = "5".  SQLSTATE=42838


如果先创建表,只包含前两个分区:                 
db2 "CREATE TABLE  mqs20201208  (
                  STORETIME DATE NOT NULL , 
                  IMAGEOBJECT BLOB(10485760) LOGGED NOT COMPACT NOT NULL , 
                  UUID VARCHAR(36) )   
                 PARTITION BY RANGE(STORETIME) 
                 (PART PART20140101 STARTING('2014-01-01') ENDING('2014-01-01') IN TSP_MIBSSE LONG IN TSP_BLOB,  
                 PART PART201704 STARTING('2017-04-13') ENDING('2017-04-30') IN TSP_MIBSSE LONG IN TSP_BLOB)
                 "

然后再使用alter table语句增加一个分区,则是可行的
db2 "alter table mqs20201208 add partition  PART202011 STARTING('2020-01-01') ENDING('2020-12-31') IN TSP_BLOB LONG IN TSP_BLOB"


解决方案:


应该是DB2产品的缺陷,建议修改表的DDL之后重新执行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值