Můžete zkusit následující. Musíte vytvořit redundantní UNIQUE omezení na (id, aId)
v Parent (SQL je docela hloupé, že?!).
CREATE TABLE Child
(parentId INTEGER NOT NULL,
aId INTEGER NOT NULL UNIQUE,
FOREIGN KEY (parentId,aId) REFERENCES Parent (id,aId),
createdOn TIMESTAMP NOT NULL);
Mnohem lepším řešením by možná bylo úplně vypustit parentId z tabulky Child, přidat bId
místo toho a odkazujte na nadřazenou tabulku založenou na (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);
Existuje nějaký důvod, proč to nemůžete udělat?