Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bisakah kunci asing mereferensikan indeks yang tidak unik?

Dari dokumentasi MySQL :

InnoDB mengizinkan batasan kunci asing untuk mereferensikan kunci yang tidak unik. Ini adalah ekstensi InnoDB untuk SQL standar.

Namun, ada alasan praktis untuk menghindari kunci asing pada kolom non-unik dari tabel referensi. Artinya, apa yang harus menjadi semantik "ON DELETE CASCADE" dalam kasus itu?

Dokumentasi lebih lanjut menyarankan :

Penanganan referensi kunci asing ke kunci yang tidak unik atau kunci yang berisi nilai NULL tidak didefinisikan dengan baik (...) Anda disarankan untuk menggunakan kunci asing yang hanya merujuk pada kunci UNIK (termasuk PRIMARY) dan NOT NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara meningkatkan koneksi MySQL (max_connections)?

  2. Kelompokkan berdasarkan tanggal hanya pada kolom Datetime

  3. Nilai yang dipisahkan koma dalam klausa MySQL IN

  4. Permintaan peka huruf besar/kecil MySQL

  5. Lima aplikasi perangkat lunak teratas untuk mengakses server MySQL/MariaDB