Re: ALTER TABLE & NOT NULL
От | Joe Conway |
---|---|
Тема | Re: ALTER TABLE & NOT NULL |
Дата | |
Msg-id | 3CAF68FB.2030802@joeconway.com обсуждение исходный текст |
Ответ на | Re: ALTER TABLE & NOT NULL ("Thomas T. Thai" <tom@minnesota.com>) |
Ответы |
Re: ALTER TABLE & NOT NULL
|
Список | pgsql-general |
Thomas T. Thai wrote: >>> >> >>I think you have to add a table constraint to do that. Something like: >> >>ALTER TABLE auth_users ADD CONSTRAINT auth_users_email CHECK (email is >>not null); > > > is this also what happens at the time of table creation when one specifies > that a column is to be NOT NULL? Not quite the same, but the net effect is. To illustrate, I created 2 tables foobar1 and foobar2. foobar2 had the constraint added after creation, foobar1 was created with the f1 column set to not null. Here's what it looks like from psql: test=# \d foobar1 Table "foobar1" Column | Type | Modifiers --------+---------+----------- f1 | integer | not null test=# \d foobar2 Table "foobar2" Column | Type | Modifiers --------+---------+----------- f1 | integer | Check constraints: "foobar2_f1" (f1 IS NOT NULL) I think I remember some discussion around making a way to add a not null modifier, but I don't believe it can be done today. Hopefully someone will correct me if I'm wrong here. (Except, maybe by hacking the system tables directly - it seems to work for me, but that's always a risky proposition. Make sure you update the field first to fill in any NULLs with some default value, or you won't be able to UPDATE those rows afterward). Joe
В списке pgsql-general по дате отправления: