PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tidak ada batasan unik yang cocok dengan kunci yang diberikan untuk tabel yang direferensikan

Kesalahan memberi tahu Anda masalahnya:Anda tidak memiliki batasan unik pada date_dimension yang cocok dengan batasan kunci asing Anda.

Namun, ini mengarah pada masalah desain yang lebih besar:Hubungan kunci asing Anda tidak masuk akal.

Anda mungkin dapat memecahkan "masalah" Anda dengan:

CREATE UNIQUE INDEX date_dimension(id,id);

Tapi itu bodoh, karena id selalu sama. Itu juga bisa dinyatakan sebagai:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);

Kemudian singkirkan effective_date kolom, yang akan selalu identik dengan evaluation_date dalam contoh Anda.

Atau... Anda mungkin sangat ingin dua hubungan FK:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
FOREIGN KEY (effective_date) REFERENCES date_dimension(id);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara menggunakan pernyataan if dengan benar postgresql

  2. Sebelum dan Setelah memicu pada acara yang sama? Isi tabel anak PostgreSQL

  3. Mengekstrak nilai tag xml di PostgreSQL

  4. Masukkan Data Ke Tabel yang Ditautkan oleh Kunci Asing

  5. Postgresql membuat ekstensi gagal