Ich nehme an, jeder läuft dieses Problem hin und wieder: Sie haben zwei Tabellen, die Autonummer Primärschlüssel haben, die zusammengeführt werden müssen. Es gibt viele gute Gründe, warum die Primärschlüssel mit automatischer Nummerierung verwendet werden, um anwendungsgenerierte Schlüssel zu verwenden, aber die Verschmelzung mit anderen Tabellen muss einer der größten Nachteile sein.Wie werden Tabellen mit Primärschlüsseln mit automatischer Nummerierung zusammengeführt?
Einige auftretende Probleme sind überlappende IDs und nicht synchronisierte Fremdschlüssel. Ich würde gerne Ihre Herangehensweise hören, um dies anzugehen. Ich stoße immer auf Probleme, also bin ich sehr neugierig, ob jemand eine allgemeine Lösung hat.
- EDIT -
Als Antwort auf die Antworten darauf hindeutet, guids oder andere nicht-numerische Tasten zu verwenden, gibt es Situationen, in denen es nur im Voraus eine bessere Idee scheint Autowert Schlüssel zu benutzen (und Sie bereue dies später), oder du übernimmst das Projekt eines anderen oder du erhältst eine ältere Datenbank, mit der du arbeiten musst. Also suche ich wirklich nach einer Lösung, bei der du keine Kontrolle über das Datenbankdesign mehr hast.
Die Frage war mehr auf generische Weise gemeint, nicht so sehr, wo Sie wissen, was im Voraus passieren wird (weil Sie dann Guids hätten verwenden können). – Carvellis
Es scheint jedoch eine Idee, new_id = old_id * 2 für die erste Tabelle und new_id = (old_id * 2) + 1 für die zweite Tabelle zu berechnen. Wenn Sie dies für alle beteiligten Tabellen tun, wird alles wieder übereinstimmen und Sie können Fremdschlüsseleinschränkungen wieder aktivieren. – thomaspaulb