ALTER TABLE, establezca nulo en la columna no nula, PostgreSQL 9.1

95

Tengo una tabla con una columna no nula, ¿cómo establecer un valor nulo en esta columna como predeterminado?

Quiero decir, quiero hacer algo como esto:

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

pero muestra:

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;
Brian Brown
fuente
Posible duplicado de ¿Cómo cambiar una columna PG a NULLABLE TRUE?
Evan Carroll

Respuestas:

31

Ejecute el comando en este formato

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

para configurar la columna como no nula.

Rigin Oommen
fuente
6
Los nombres de las columnas no deben estar entre comillas simples
a_horse_with_no_name
6
Esto me ayudó, aunque no respondió la pregunta.
JayD3e
Hola, agregué citas solo para entender
Rigin Oommen
13
First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
jainvikram444
fuente
11
Vine aquí buscando cómo establecer la columna como NOT NULL. Con su respuesta, pude averiguar la solución: ALTER TABLE person ALTER COLUMN phone SET NOT NULL. ¡Gracias!
falsarella
8

Ejecute el comando en este formato:

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

Sunny Chawla
fuente