ALTER TABLE, установить null в ненулевом столбце, PostgreSQL 9.1

95

У меня есть таблица с ненулевым столбцом. Как установить нулевое значение в этом столбце по умолчанию?

То есть я хочу сделать что-то вроде этого:

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

но показывает:

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;
Брайан Браун
источник
Возможный дубликат Как изменить столбец PG на NULLABLE TRUE?
Эван Кэрролл

Ответы:

31

Выполните команду в этом формате

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

для установки столбца не равным нулю.

Ригин Оммен
источник
6
Имена столбцов не должны быть заключены в одинарные кавычки
a_horse_with_no_name
6
Это помогло мне, хотя и не дало ответа на вопрос.
JayD3e
Привет, я добавил цитаты только для понимания
Rigin Oommen
13
First, Set :
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
джайнвикрам444
источник
11
Пришел сюда в поисках того, как установить столбец как NOT NULL. С вашего ответа, я мог понять решение: ALTER TABLE person ALTER COLUMN phone SET NOT NULL. Благодарность!
falsarella
8

Выполните команду в таком формате:

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

Солнечный Чавла
источник