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

时间:2012-11-30 10:55:57

标签: postgresql null postgresql-9.1

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

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

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 个答案:

答案 0 :(得分:149)

ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;

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

答案 1 :(得分:20)

以此格式执行命令

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

用于将列设置为非null。

答案 2 :(得分:13)

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

答案 3 :(得分:5)

以这种格式执行命令:

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