Nun, Id
Spalten sind keine aussagekräftigen "Schlüssel", und sie werden Sie überall stolpern lassen. Sie sollen bedeutungslose, physische Identifikatoren sein, und Sie haben ihnen Bedeutung beigemessen. Wenn Sie verlangen, dass die gleichen Ids
in einer anderen Datenbank vorhanden sind.
Haben Sie die FK-Verletzung behoben? Höchstwahrscheinlich haben Sie eine völlig andere Id
für die DB1-Zeile in DB2; und sicherlich unterschiedliche übergeordnete Ids
.
Sie müssen dies konsequent nicht tun geben Sie eine Id
an Wert, und lassen Sie ihn vom Server ausfüllen, oder immer geben Sie eine Id
an Wert, in beiden Datenbanken.
Das zweite Problem ist, dass Sie nicht transaktional denken. Multi-DB-Transaktionen sind überhaupt kein Problem. Vergessen Sie also die Id
Spalte, was sie enthält, und verwenden Sie die echten Schlüssel für die Tabelle in beiden DBs. Die ids
wird anders sein, aber wen interessiert das (das bedeutet, die Notwendigkeit zu beseitigen, dem bedeutungslosen Identifikator eine Bedeutung zuzuordnen).