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

ERRO 1215. MySql InnoDB

Saya menguji pembuatan tabel Anda.

Kemudian saya mendapat informasi lebih lanjut tentang kesalahan kunci asing:

mysql> show engine innodb status\G

------------------------
LATEST FOREIGN KEY ERROR
------------------------
2018-02-20 14:51:33 700002d90000 Error in foreign key constraint of table calls/called:

    FOREIGN KEY (`Code`)
    REFERENCES `calls`.`city` (`Code`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `Number`
    FOREIGN KEY (`Number`)
    REFERENCES `calls`.`subscriber` (`Number`)
    ON DELETE CASCADE
    ON UPDATE CASCADE):
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.
...

Saya melihat masalahnya:Anda memiliki kunci utama majemuk di city pada kolom (Name, Code) . Untuk ini, Anda harus membuat satu referensi batasan kunci asing keduanya kolom kunci utama induk.

Seperti ini:

CONSTRAINT `Name`
FOREIGN KEY (`Name`, `Code`)
REFERENCES `calls`.`city` (`Name`, `Code`)
ON DELETE CASCADE
ON UPDATE CASCADE

Jangan nyatakan batasan untuk setiap kolom — nyatakan satu batasan yang mereferensikan kedua kolom kunci.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan SQL setidaknya satu dari sesuatu

  2. Struktur Keranjang Belanja MySQL

  3. Cara Menyisipkan data dari satu tabel database ke tabel database lain di Mysql

  4. Apakah ada kerugian menggunakan varchar (255) generik untuk semua bidang berbasis teks?

  5. mysql:cara memotong panjang bidang