Subject Re: [firebird-support] Foreign key problem
Author Martijn Tonies
Hello Mike,

> I have a table called mastuser which has a primary key set to be
> ACCOUNT and USER_NAME.
>
> I have a child table called basket which includes those same two
> fields (with a normal non unique index), but the primary key is on an
> autoincrement field called ID.
>
> I set up a foreign key based on ACCOUNT and USER_NAME for mastuser and
> ACCOUNT and USER_NAME on basket even though it defaults to ID. When I
> try and save the alterations I get the following error:
>
> This operation is not defined for system tables.
> unsuccessful metadata update.
> could not find UNIQUE INDEX with specified columns.
>
> Is this saying that I need a unique index on the basket table
> consisting of ACCOUNT + USER_NAME?

No, this error message should be changed to
"cound not find an unique or primary key constraint".

> I cannot do this because there may be multiple records in the basket
> table. There will however only be one in the mastuser table.

The FK should point FROM the "basket" to the "mastuser"
table, right?

Now, if account+username is the PK of "mastuser", this shouldn't
be a problem.

if not, then explain your question in a better way.

With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Server
Upscene Productions
http://www.upscene.com