Db2 &引用;为列指定的属性与现有列定义不兼容;
已经有一段时间了 使用DB210forz/OS,我被要求将表中的特定列从十进制(7,2)更改为十进制(7,4)。听起来很简单,对吧Db2 &引用;为列指定的属性与现有列定义不兼容;,db2,Db2,已经有一段时间了 使用DB210forz/OS,我被要求将表中的特定列从十进制(7,2)更改为十进制(7,4)。听起来很简单,对吧 alter table MySchema.MyTable alter column myColumn set data type decimal(7,4); 但是,DB2的响应是这样的错误:“为列‘MYCOLUMN’指定的属性与现有的列定义不兼容。” 我原以为从十进制(7,2)到十进制(7,4)的转换非常简单,但DB2不同意 除了扔掉桌子,从头开始重建,我还有什么
alter table MySchema.MyTable
alter column myColumn
set data type decimal(7,4);
但是,DB2的响应是这样的错误:“为列‘MYCOLUMN’指定的属性与现有的列定义不兼容。”
我原以为从十进制(7,2)到十进制(7,4)的转换非常简单,但DB2不同意
除了扔掉桌子,从头开始重建,我还有什么选择
提前谢谢
Dave创建一个正确类型的新列
ALTER ADD column
,使用UPDATE
填充它,ALTER DROP column
旧列<代码>重命名列因此设置原始列的名称。创建正确类型的新列ALTER ADD COLUMN
,使用UPDATE
填充它,ALTER DROP COLUMN
旧列<代码>重命名列因此设置原始列的名称。Db2不喜欢这种更改的原因是您将从99999.99更改为999.9999
这真的是你想要的吗?从(7,2)到(9,4)只需在不丢失任何数据的情况下再添加两个小数位,Db应该允许这样做
Db2 for i给出了一个警告,但允许您忽略该警告…Db2不喜欢这种更改的原因是您将从99999.99更改为999.9999 这真的是你想要的吗?从(7,2)到(9,4)只需在不丢失任何数据的情况下再添加两个小数位,Db应该允许这样做
Db2 for i给出了一个警告,但允许您忽略该警告…我错过了Db2 for i。那时事情就简单多了,我想念DB2。那时候事情容易多了。