Du kan prova följande. Du måste skapa en redundant UNIK begränsning på (id, aId)
i Parent (SQL är väl ganska dumt?!).
CREATE TABLE Child
(parentId INTEGER NOT NULL,
aId INTEGER NOT NULL UNIQUE,
FOREIGN KEY (parentId,aId) REFERENCES Parent (id,aId),
createdOn TIMESTAMP NOT NULL);
En mycket bättre lösning skulle möjligen vara att helt ta bort parentId från Child-tabellen, lägg till bId
istället och bara hänvisa till den överordnade tabellen baserat på (aId, bId)
:
CREATE TABLE Child
(aId INTEGER NOT NULL UNIQUE,
bId INTEGER NOT NULL,
FOREIGN KEY (aId,bId) REFERENCES Parent (aId,bId),
createdOn TIMESTAMP NOT NULL);
Finns det någon anledning till att du inte kan göra det?