1. 程式人生 > >關於DB2新增列column_new 和修改原列column_old預設值default value的情況

關於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。