ALTER TABLE, définir null dans une colonne non nulle, PostgreSQL 9.1

95

J'ai une table avec une colonne non nulle, comment définir une valeur nulle dans cette colonne par défaut?

Je veux dire, je veux faire quelque chose comme ça:

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

mais ça montre:

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
la source
Double
Evan Carroll

Réponses:

31

Exécutez la commande dans ce format

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

pour définir la colonne sur non nulle.

Rigin Oommen
la source
6
Les noms de colonnes ne doivent pas être
placés entre
6
Cela m'a aidé, même si cela n'a pas répondu à la question.
JayD3e le
Bonjour j'ai ajouté des citations juste pour comprendre
Rigin Oommen
13
First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
jainvikram444
la source
11
Je suis venu ici pour savoir comment définir la colonne comme NOT NULL. Avec votre réponse, je pourrais comprendre la solution: ALTER TABLE person ALTER COLUMN phone SET NOT NULL. Merci!
falsarella
8

Exécutez la commande dans ce format:

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

Sunny Chawla
la source