phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

banyak ke banyak hubungan tabel jembatan dilema

Alat ini hanya memberi tahu Anda bahwa mungkin ada beberapa entri untuk kombinasi uId-groupId. Contoh:

uId  groupId  performacesScore 
1    1        10
1    2        20
2    1        30
2    1        30
2    1        40
2    2        20

Sekarang bayangkan data ini ditampilkan kepada Anda dan Anda membuat 2/1/30 pertama menjadi 2/1/50. Pernyataan pembaruan apa yang bisa dikirim alat ke dbms?

update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1;

Ini akan memperbarui tiga catatan, bukan satu.

update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1 and performacesScore = 30;

Ini masih akan memperbarui dua catatan, bukan satu.

Jadi untuk memperbarui dan menghapus dengan benar, Anda harus memberi tahu dbms apa yang membuat catatan itu unik. Ada empat kemungkinan:

  • Jika Anda tidak ingin memperbarui atau menghapus satu catatan pun, biarkan apa adanya.
  • Jika Anda ingin dapat memperbarui dan hanya ada satu entri untuk kombinasi uId-groupId, maka beri tahu dbms dan jadikan uId plus groupId sebagai kunci utama tabel Anda.
  • Jika Anda ingin dapat memperbarui dan mungkin ada duplikat untuk kombinasi uId-groupId, tetapi kombinasi uId-groupId-performacesScore akan selalu unik, maka jadikan ketiganya sebagai kunci utama tabel.
  • Jika Anda ingin dapat memperbarui dan mungkin ada duplikat untuk kombinasi apa pun, berikan tabel kolom lain untuk id teknis dan jadikan ini sebagai kunci utama.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Mencari melalui database dengan phpMyAdmin

  2. Mengapa saya mendapatkan nilai NULL di Gabung Kiri?

  3. phpMyAdmin memicu gui memeriksa usia

  4. Impor perubahan tanggal csv ke 0000-00-00

  5. Jumlah bidang tidak valid dalam input CSV pada baris 1 phpmyadmin