关于DB2新增列column_new 和修改原列column_old默认值default value的情况

 1.新增列有默认值,不为空,则表中该列数据会自动补全。

ALTER TABLE AA_TEST ADD COLUMN column_new_a int WITH DEFAULT 1;
ALTER TABLE AA_TEST ADD CONSTRAINT column_new_a CHECK (column_new_a IS NOT NULL);

2.新增列有默认值,可为空,则表中该列数据会自动补全。

ALTER TABLE AA_TEST ADD COLUMN column_new_b int WITH DEFAULT 2;

3.原列,修改表结构,赋默认值,则表中该列数据不会变化。

ALTER TABLE AA_TEST ALTER COLUMN COLUMN_OLD_A SET DEFAULT 3;

4.原列,修改表结构,赋默认值,设置不可为空,则如果该列数据有null,则会报错,如果没有null,就可以执行成功,原列不会数据不会变化。

ALTER TABLE AA_TEST ALTER COLUMN COLUMN_OLD_D SET DEFAULT 4;
ALTER TABLE AA_TEST ALTER COLUMN COLUMN_OLD_D SET NOT NULL;

报错如下:

5.插入数据测试,

insert into aa_test (test_name,test_date,test_age,test_source) values( '测试第101次','2018-07-17',50,'自己来的');

结果如下,设置默认值的列,会有默认值,但是可为空的列,可以插入null。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值