ALTER TABLE, set null in not null column, PostgreSQL 9.1
PostgresqlNullPostgresql 9.1Postgresql Problem Overview
I have a table with not null column, How to set a null value in this column as default?
I mean, I want to do something like this:
postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;
but it shows:
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;
Postgresql Solutions
Solution 1 - Postgresql
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
More details in the manual: http://www.postgresql.org/docs/9.1/static/sql-altertable.html
Solution 2 - Postgresql
Execute the command in this format
ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;
for setting the column to not null.
Solution 3 - Postgresql
Execute the command in this format:
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
Solution 4 - Postgresql
First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;