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

Kunci asing mengacu pada beberapa baris di tabel lain

Solusi biasa untuk ini adalah membuat tabel persimpangan:

CREATE TABLE vehicles_owned
(
  o_id INT,
  v_id INT,
  PRIMARY KEY (o_id, v_id),
  FOREIGN KEY (o_id)
    REFERENCES owners (o_id),
  FOREIGN KEY (v_id)
    REFERENCES vehicles (v_id)
);

Anda kemudian menjatuhkan v_id dari owners .

Tabel ini memungkinkan setiap owners untuk memiliki beberapa vehicles , dan setiap vehicles untuk memiliki beberapa owners . Jika Anda ingin menerapkan batasan satu pemilik per kendaraan, tambahkan UNIQUE indeks ke vehicles_owned.v_id .

EDIT:Tentu saja, jika Anda ingin menerapkan batasan satu pemilik per kendaraan, Anda juga dapat menambahkan o_id ke vehicles sebagai kunci asing, dan tidak mengganggu tabel persimpangan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengkodean ASP, MySQL, atau ODBC UTF8 klasik

  2. Beberapa kueri MYSQL vs. Beberapa loop foreach php

  3. Pemahaman kesalahan sederhana MySQL

  4. apa cara yang tepat untuk mengonversi antara datetime mysql dan stempel waktu python?

  5. MySQL menggabungkan semua kolom