2012-11-30 52 views
45

我有一個非空列的表,如何在此列中設置空值作爲默認值?ALTER TABLE,在非空列中設置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; 

回答

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

來到這裏搜索如何將列設置爲NOT NULL。用你的答案,我可以找出解決方案:'ALTER TABLE person ALTER COLUMN phone SET NOT NULL'。謝謝! – falsarella

11

執行th中的命令是格式

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL; 

用於將列設置爲非空。

+5

列名不能用單引號括起來 –

+3

這幫了我,儘管它沒有回答這個問題。 – JayD3e

+0

你好,我只是爲了理解而添加了引號 –