Обсуждение: Problem with FOREIGN KEY

Поиск
Список
Период
Сортировка

Problem with FOREIGN KEY

От
"Вадим Жерновой |Vadim Zhernovoi|"
Дата:
I have a Problem with Foreign key query...i've posted the code on
http://pgsl.privatepaste.com/e44p3Orqiq, so it have syntax higlight.
Please, need help!

Thank you!
-- 
Vadim Zhernovoi
--


Re: Problem with FOREIGN KEY

От
Erik Jones
Дата:
On Apr 22, 2008, at 10:26 AM, Вадим Жерновой |Vadim
Zhernovoi| wrote:

> I have a Problem with Foreign key query...i've posted the code on
> http://pgsl.privatepaste.com/e44p3Orqiq, so it have syntax higlight.
> Please, need help!

What that's telling you is that there is data in your Users table that
doesn't satisfy the foreign key constraint, i.e. there is a Users row
with SecurityRoleId=0 and no row in SecurityRole with ID=0.

Erik Jones

DBA | Emma®
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com





Re: Problem with FOREIGN KEY

От
"D'Arcy J.M. Cain"
Дата:
On Tue, 22 Apr 2008 18:26:19 +0300
"????? ???????? |Vadim Zhernovoi|" <vadim.zhernovoi@gmail.com> wrote:
> I have a Problem with Foreign key query...i've posted the code on
> http://pgsl.privatepaste.com/e44p3Orqiq, so it have syntax higlight.
> Please, need help!

That message is not telling you the the referenced table doesn't have
the field.  It is saying that the referenced table does not have a
matching row for one or more rows in the table being checked.  In other
words it is checking your existing data exactly the same as it will
check new data that you insert.  Your database is already violating the
rule that you are trying to enforce with the new constraint.

Also, I am pretty sure that you do not want the constraint
FK1_SecurityRolePermission that you created on SecurityRole.  What do
you think that will accomplish?

--
D'Arcy J.M. Cain <darcy@druid.net>         |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.