Re: Adding a NOT NULL column?

Поиск
Список
Период
Сортировка
От Gregory Wood
Тема Re: Adding a NOT NULL column?
Дата
Msg-id 002801c0fe73$aeb33c50$7889ffcc@comstock.com
обсуждение исходный текст
Ответ на Adding a NOT NULL column?  (Philip Molter <philip@datafoundry.net>)
Ответы RE: Re: Adding a NOT NULL column?  ("tamsin" <tg_mail@bryncadfan.co.uk>)
Список pgsql-general
> but how do set that new column to be NOT NULL?  The postgres docs say
> do something like:
>
>   ALTER TABLE t ADD (table constraint definition)
>
> so I would do that like:
>
>   ALTER TABLE ADD c NOT NULL
>   ALTER TABLE ADD CONSTRAINT c NOT NULL
>
> each time it fails on the 'NOT'.  How do I add that constraint?

I believe you can either ALTER the column (much like you did when you added
the default value: ALTER TABLE t ALTER c SET DEFAULT 0), or ADD a CHECK
constraint which checks that 'c IS NOT NULL'. I don't think you can simply
*add* a 'NOT NULL' constraint to a column after the fact.

Both of these should work fine, although I'm more comfortable with the
syntax of the first:

ALTER TABLE ALTER COLUMN c NOT NULL;
-OR-
ALTER TABLE ADD CONSTRAINT CHECK (c IS NOT NULL);

Greg


В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Large objects in web applications
Следующее
От: Alex Pilosov
Дата:
Сообщение: Re: Returning records from function