Re: Foreign key check only if not null?
От | Richard Broersma |
---|---|
Тема | Re: Foreign key check only if not null? |
Дата | |
Msg-id | CABvLTWFUZHasf9MsJob2e6RmK4iTc-Edtt3z7_UkGgdyt4sqJg@mail.gmail.com обсуждение исходный текст |
Ответ на | Foreign key check only if not null? (Phoenix Kiula <phoenix.kiula@gmail.com>) |
Список | pgsql-general |
On Mon, Sep 12, 2011 at 6:48 PM, Phoenix Kiula <phoenix.kiula@gmail.com> wrote: > I have a column in my table: > user_id varchar(100) ; > > This can be NULL, or it can have a value. If it has a value during > INSERT or UPDATE, I want to check that the user exists against my > "Users" table. Otherwise, NULL is ok. (Because the functionality in > question is open to both unregistered and registered users). > > Any idea on how I can implement a FOREIGN KEY constraint? This sounds like an ordinary foreign key constraint. Just be sure that you drop the null constraint on the table's user_id column. So: ALTER TABLE "my table" ADD CONSTRAINT "my table_Users_user_id_fkey" FOREIGN KEY (user_id) REFERENCES "Users" (user_id) ON UPDATE CASCADE ON DELETE SET NULL, ALTER COLUMN user_id DROP NOT NULL; -- Regards, Richard Broersma Jr.
В списке pgsql-general по дате отправления: