129

我有一个非空列的表,如何将此列中的空值设置为默认值?

我的意思是,我想做这样的事情:

postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;

但它显示:

postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;
ERROR:  syntax error at or near "NULL"
LINE 1: ALTER TABLE person ALTER COLUMN phone SET NULL;
4

4 回答 4

274
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;

手册中的更多详细信息:http ://www.postgresql.org/docs/9.1/static/sql-altertable.html

于 2012-11-30T11:03:21.443 回答
54

执行这种格式的命令

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

用于将列设置为不为空。

于 2015-10-19T07:01:53.513 回答
19

以这种格式执行命令:

ALTER [ COLUMN ] column { SET | DROP } NOT NULL

于 2018-04-19T07:38:13.290 回答
13
First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
于 2012-11-30T11:04:28.403 回答