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;

Respostas:



34

Execute o comando neste formato

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

para definir a coluna como não nula.


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;

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.