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。