PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wygeneruj SQL, aby zaktualizować klucz podstawowy

Najłatwiejszym sposobem radzenia sobie ze zmianami klucza podstawowego - zdecydowanie - jest ALTER Twoje odwołujące się ograniczenia klucza obcego to ON UPDATE CASCADE .

Następnie możesz zaktualizować wartości klucza podstawowego, a zmiany zostaną wprowadzone kaskadowo do tabel podrzędnych. Może to być bardzo powolny proces ze względu na losowe operacje we/wy, ale zadziała.

Musisz uważać, aby nie naruszać ograniczeń unikalności w kolumnie klucza podstawowego podczas procesu.

Bardziej skomplikowanym, ale szybszym sposobem jest dodanie nowego UNIQUE kolumnę dla nowego PK, wypełnij ją, dodaj nowe kolumny do wszystkich tabel odsyłających, które wskazują nowy PK, usuń stare ograniczenia i kolumny FK, a na koniec usuń stary PK.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Niepowodzenie instalacji gem pg, mkmf.rb nie może znaleźć plików nagłówkowych dla ruby ​​(Mac OSX 10.6.5)

  2. Programowo wyprodukuj obiekt `DataSource` dla Postgres JDBC

  3. Django bulk_create z ignorowanymi wierszami, które powodują IntegrityError?

  4. Łączenie się z PostgreSQL w IRI Workbench

  5. Jak zapobiec usunięciu pierwszego wiersza w tabeli (PostgreSQL)?