ALTER TABLE,在非空列 PostgreSQL 9.1中设置 null

我有一个没有空列的表,如何设置一个空值在这个列作为默认值?

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

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;
152755 次浏览
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;

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

First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;

以这种格式执行命令

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

用于将列设置为非空。

以这种格式执行命令:

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