sql >> Database >  >> RDS >> PostgreSQL

Genereer SQL om de primaire sleutel bij te werken

De gemakkelijkste manier om met primaire sleutelwijzigingen om te gaan - verreweg - is om ALTER uw verwijzende externe sleutelbeperkingen zijn ON UPDATE CASCADE .

U bent dan vrij om de primaire sleutelwaarden bij te werken, en de wijzigingen zullen worden doorgevoerd in onderliggende tabellen. Het kan een erg langzaam proces zijn vanwege alle willekeurige I/O, maar het zal werken.

U moet tijdens het proces wel oppassen dat u de uniciteitsbeperkingen op de primaire sleutelkolom niet schendt.

Een lastigere maar snellere manier is om een ​​nieuwe UNIQUE toe te voegen kolom voor de nieuwe PK, vul deze in, voeg nieuwe kolommen toe aan alle verwijzende tabellen die naar de nieuwe PK verwijzen, laat de oude FK-beperkingen en kolommen vallen en laat tenslotte de oude PK vallen.



  1. Hoe u join-query's kunt maken met Sequelize op Node.js

  2. Hoofdlettergevoelige sortering in MySQL

  3. Uitvoeren van toestemming voor xp_cmdshell

  4. LEN-functie zonder volgspaties in SQL Server