Измените тип столбца и установите значение 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.