Измените тип столбца и установите значение NULL


96

Как изменить тип столбца, а также not nullобъединить этот столбец ?

Я пытаюсь:

ALTER TABLE mytable ALTER COLUMN col TYPE character varying(15) SET NOT NULL

Это возвращает ошибку.

Каков правильный синтаксис?


2
Эй, почему бы не взглянуть на руководство: postgresql.org/docs/9.2/static/sql-altertable.html
— Mechanical_meat

То есть вместе (в одном запросе) невозможно сделать эти две вещи?
— Ото Шавадзе

Ответы:


187

Это должно быть правильно:

ALTER TABLE mytable
    ALTER COLUMN col TYPE character varying(15),
    ALTER COLUMN col SET NOT NULL

Есть ли способ применить значение по умолчанию для ячеек, которые имеют нулевое значение сразу?
— Евгений Коньков
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.