ALTER TABLE, definir nulo em coluna não nula, PostgreSQL 9.1

97

Eu tenho uma tabela com coluna não nula, como definir um valor nulo nesta coluna como padrão?

Quer dizer, eu quero fazer algo assim:

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

mas mostra:

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
fonte
Possível duplicata de Como alterar uma coluna PG para NULLABLE TRUE?
Evan Carroll

Respostas:

34

Execute o comando neste formato

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

para definir a coluna como não nula.

Rigin Oommen
fonte
6
Os nomes das colunas não devem ser
colocados entre
6
Isso me ajudou, embora não respondesse à pergunta.
JayD3e
Olá, eu adicionei citações apenas para compreensão
Rigin Oommen
13
First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
jainvikram444
fonte
11
Vim aqui procurando como definir a coluna como NOT NULL. Com sua resposta, eu poderia descobrir a solução: ALTER TABLE person ALTER COLUMN phone SET NOT NULL. Obrigado!
falsarella
8

Execute o comando neste formato:

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

Sunny Chawla
fonte