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

Kode Kesalahan:1822 ketika tipe data cocok, dengan kunci komposit

Masalahnya adalah karena fakta bahwa kunci asing, subj_code , adalah bagian dari multi-kolom kunci utama (PK) dalam tabel referensi enrolment :

primary key (stud_id, subj_code, semester, year)

di mana kolom ini (subj_code ) adalah bukan yang paling kiri .

Tabel student tidak memiliki masalah ini karena kolom kunci asingnya stud_id adalah kolom paling kiri dari PK dalam tabel yang direferensikan.

Untuk mengatasi ini, Anda dapat membuat indeks baru untuk kolom yang dirujuk:

ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);

Catatan: Anda harus melakukan hal yang sama untuk tabel referensi grade di kunci asing lainnya.

Demo di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. temukan jumlah baris dalam hasil mysql yang dikembalikan (nodejs)

  2. HIBAH minimum yang dibutuhkan oleh mysqldump untuk membuang skema lengkap? (PICU tidak ada!!)

  3. Memasukkan Variabel MySQL Menggunakan Python, Tidak Berfungsi

  4. Kesalahan regex mysql #1139 menggunakan literal -

  5. Bagaimana saya bisa meneruskan data web penyimpanan lokal yang disimpan ke skrip php?