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

Problemy z ograniczeniami PostgreSQL

Jeśli masz wiele wartości w kluczu podstawowym, musisz odwoływać się do niego inaczej jako do klucza obcego.

Zasadniczo, kiedy mówisz

FlightID char (20) REFERENCES Flight(FlightID) ON DELETE CASCADE,

PostgreSQL sprawdza ten klucz podstawowy, który nie istnieje (ponieważ kluczem podstawowym w tej tabeli jest (flightid, flightdate)).

Więc upuść REFERENCES klauzule podczas odwoływania się do tabeli lotu i dodaj

FOREIGN KEY (FlightID, FlightDate) REFERENCES Flight (FlightID, FlightDate)

W sposób, który masz w niektórych innych definicjach tabel.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problemy z tworzeniem wyzwalaczy PostgreSQL

  2. Najwcześniejszy znacznik czasu obsługiwany w PostgreSQL

  3. QueryHint ResultSetType.ForwardOnly nie działa z Spring JPA/EclipseLink

  4. jak zapobiegać duplikatom za pomocą wewnętrznego zapytania sprzężenia (Postgres)

  5. Rails/ActiveRecord Grupa według miesiąca+roku z licznikami