我读到here我应该可以像这样设置列的默认值:
ALTER [ COLUMN ] column SET DEFAULT expression
但是这个:
ALTER address.IsActive SET DEFAULT NULL
给我这个错误:
错误:“地址”或附近的语法错误第1行:ALTER地址.IsActive SET DEFAULT NULL
我做错了什么?另外,如何指定多个列以使其默认值为NULL
?
答案 0 :(得分:7)
正确的语法是:
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT NULL;
对于多个列,请按照手册中的说明重复ALTER COLUMN
部分:
ALTER TABLE table_name
ALTER COLUMN foo SET DEFAULT NULL,
ALTER COLUMN bar SET DEFAULT 0;
答案 1 :(得分:5)
您没有运行完整的声明。您错过了ALTER TABLE
部分:
ALTER TABLE [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ ONLY ] name [ * ] RENAME [ COLUMN ] column TO new_column ALTER TABLE name RENAME TO new_name
其中action是以下之一:
[...]
答案 2 :(得分:2)
尝试如下......它会起作用....
ALTER TABLE address ALTER COLUMN IsActive SET DEFAULT NULL
答案 3 :(得分:0)
alter table dogs
alter column breed set default 'boxer'
alter table dogs
alter column breed set default null