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

Adakah yang bisa menjelaskan kunci asing MySQL?

Ini tidak otomatis, Anda harus menambahkan batasan kunci asing pada customer_id kolom order meja. Ini dapat dilakukan pada waktu pembuatan tabel atau menggunakan pernyataan ALTER. Periksa dokumentasi untuk detailnya. Seperti yang ditunjukkan orang lain, perhatikan bahwa kedua tabel harus berupa tabel InnoDB (batasan kunci asing tidak didukung oleh mesin penyimpanan MyISAM yang akan mengabaikannya).

Dengan atau tanpa batasan FK, kueri akan menjadi seperti:

SELECT * 
FROM CUSTOMER C, ORDER O
WHERE C.ID = O.CUSTOMER_ID
AND O.ID = ...

Batasan FK akan "hanya" menjamin bahwa kolom CUSTOMER_ID dari tabel ORDER tidak dapat berisi nilai yang tidak ada di tabel CUSTOMER (kecuali berpotensi NULL) dan dengan demikian menegakkan integritas referensial.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menjalankan/Memulai MySQL tanpa instalasi di Windows

  2. Ekspor dan Impor semua database MySQL sekaligus

  3. Memilih entri berdasarkan tanggal ->=SEKARANG(), MySQL

  4. Kesalahan koneksi PHP dengan database

  5. NILAI UNSIGNED BIGINT DI luar jangkauan SQL Saya