Змініть тип стовпця та встановіть значення не 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.