sql >> Database >  >> RDS >> Sqlserver

Foreign key-probleem met meerdere db's in één transactie

Nou, Id kolommen zijn geen betekenisvolle "sleutels", en ze zullen je overal laten struikelen. Ze worden verondersteld betekenisloze, fysieke identificatiemiddelen te zijn, en jij hebt er betekenis aan verbonden. Wanneer u dezelfde Ids . vraagt bestaan ​​in een andere database.

Heeft u de FK-overtreding opgelost? Waarschijnlijk heb je een totaal andere Id voor de DB1-rij, in DB2; en zeker verschillende bovenliggende Ids .

U moet consequent niet specificeer een Id waarde, en laat de server deze invullen, of altijd specificeer een Id waarde, in beide databases.

Het tweede probleem is dat je niet transactioneel aan het thniken bent. Multi-db transacties zijn geen enkel probleem. Dus vergeet de Id kolom, wat het bevat, en gebruik de echte sleutels voor de tabel, in beide Dbs. De ids zal anders zijn, maar wat maakt het uit (dat betekent dat je de noodzaak loslaat om betekenis te hechten aan de betekenisloze identifier).



  1. Hoe kan ik een database koppelen aan een app in Heroku?

  2. hoe COALESCE in orakel te gebruiken om gegevens uit twee rijen te combineren

  3. Hoe voeg ik een voorloopnul toe aan verschillende tekenlengtes in mysql?

  4. PHP MySql - Controleer of de waarde bestaat