我在这里读到,我应该能够像这样设置列的默认值:
ALTER [ COLUMN ] column SET DEFAULT expression
但是这个:
ALTER address.IsActive SET DEFAULT NULL
出现以下错误:
ERROR: syntax error at or near "address" LINE 1: ALTER address.IsActive SET DEFAULT NULL
我做错了什么?另外,如何指定多列的默认值为NULL
?
我在这里读到,我应该能够像这样设置列的默认值:
ALTER [ COLUMN ] column SET DEFAULT expression
但是这个:
ALTER address.IsActive SET DEFAULT NULL
出现以下错误:
ERROR: syntax error at or near "address" LINE 1: ALTER address.IsActive SET DEFAULT NULL
我做错了什么?另外,如何指定多列的默认值为NULL
?
正确的语法是:
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;
action [, ... ]
表示你可以添加任意数量的参数,用逗号分隔。 - Álvaro González您没有运行完整的语句,缺少 ALTER TABLE
部分:
ALTER TABLE [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ ONLY ] name [ * ] RENAME [ COLUMN ] column TO new_column ALTER TABLE name RENAME TO new_name
where action is one of:
[...]
ALTER TABLE address ALTER COLUMN IsActive SET DEFAULT NULL
alter table dogs
alter column breed set default 'boxer'
alter table dogs
alter column breed set default null