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

Cara menggunakan kunci asing saat menanyakan dari dua tabel

Saya tidak yakin, jika Anda mengerti untuk apa kunci asing digunakan. Kunci asing pada dasarnya mengatakan "untuk entri ini harus ada entri di tabel induk". Anda mengatakan user_id is foreign key in vehicle table , yang tidak jelas bagi saya.

Jadi, anggap Anda memiliki definisi tabel seperti ini:

CREATE TABLE vehicles
(`id_car` int, `car_model` varchar(2), `car_owner` int);


CREATE TABLE users
(`user_id` int, `user_name` varchar(5), `user_phone` varchar(7)
, CONSTRAINT `fk_your_foreign_key` FOREIGN KEY (user_id) REFERENCES vehicles(car_owner)
);

Saat Anda ingin memasukkan pengguna baru ke dalam tabel, user_id harus merupakan entri yang ada di kolom car_owner di tabel kendaraan.

Kunci asing ada untuk menerapkan aturan bisnis. Apakah setiap pengguna harus menjadi pemilik mobil? Atau sebaliknya, apakah setiap mobil harus dimiliki oleh seseorang? Jika Anda dapat menjawab kedua pertanyaan dengan tidak, maka jangan terapkan kunci asing apa pun untuk kasus ini. Tapi lakukanlah, jika Anda bisa menjawab ya dengan pasti.

Untuk mendapatkan informasi yang Anda cari, lakukan saja

SELECT 
* 
FROM 
vehicles 
INNER JOIN users ON vehicles.car_owner = users.user_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. SQLSTATE[22007]:Format tanggal waktu tidak valid:1366 Nilai integer salah:'column_name' di Laravel

  2. Bagaimana cara membuat database localhost menggunakan mysql?

  3. MySQL - SQL_BIG_SELECTS

  4. Cara menghapus database mysql melalui perintah shell

  5. Bagaimana menghubungkan flutter ke database mysql localhost