Anda bisa mencoba yang berikut ini. Anda harus membuat batasan UNIK yang berlebihan pada (id, aId)
di Induk (SQL cukup bodoh bukan?!).
CREATE TABLE Child
(parentId INTEGER NOT NULL,
aId INTEGER NOT NULL UNIQUE,
FOREIGN KEY (parentId,aId) REFERENCES Parent (id,aId),
createdOn TIMESTAMP NOT NULL);
Mungkin solusi yang jauh lebih baik adalah dengan menghapus parentId dari tabel Anak sama sekali, tambahkan bId
sebagai gantinya dan cukup referensikan tabel Induk berdasarkan (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);
Apakah ada alasan mengapa Anda tidak bisa melakukannya?