sql >> Databasteknik >  >> RDS >> PostgreSQL

Generera SQL för att uppdatera primärnyckeln

Det enklaste sättet att hantera förändringar av primärnyckeln - överlägset - är att ALTER dina refererande främmande nyckelbegränsningar ska vara ON UPDATE CASCADE .

Du är sedan fri att uppdatera de primära nyckelvärdena, och ändringarna kommer att överlappa underordnade tabeller. Det kan vara en mycket långsam process på grund av alla slumpmässiga I/O, men det kommer att fungera.

Du måste se upp så att du inte bryter mot unika begränsningar i kolumnen för primärnyckeln under processen.

Ett krångligare men snabbare sätt är att lägga till en ny UNIQUE kolumn för den nya PK, fyll i den, lägg till nya kolumner i alla hänvisningstabeller som pekar på den nya PK, släpp de gamla FK-begränsningarna och kolumnerna och släpp till sist den gamla PK.



  1. Hur snabbar man på SELECT .. LIKE-frågor i MySQL på flera kolumner?

  2. Hur man använder pgBackRest för att säkerhetskopiera PostgreSQL och TimescaleDB

  3. Undvikande enstaka citat i PHP när du infogar i MySQL

  4. Returnera en lista med tabeller från en länkad server i SQL Server (T-SQL-exempel)