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

MySQL:Membuat tabel dengan kesalahan FK (errno 150)

Jenis bidang dalam kunci asing harus sama dengan jenis kolom yang mereka referensikan. Anda memiliki yang berikut (snipping):

CREATE  TABLE IF NOT EXISTS `state` (
  `state_id` INT NOT NULL AUTO_INCREMENT ,
...
CREATE  TABLE IF NOT EXISTS `brand` (
  `brand_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
...
CREATE  TABLE IF NOT EXISTS `location` (
...
  `state_id` TINYINT UNSIGNED NULL DEFAULT NULL ,
...
  `brand_id` TINYINT UNSIGNED NOT NULL ,

jadi Anda mencoba merujuk ke INT bidang (dalam tabel state dan brand ) dengan TINYINT bidang dalam tabel location . Saya pikir itu kesalahan yang dikeluhkan. Tidak yakin bagaimana awalnya, atau mengapa mengabaikan FOREIGN_KEY_CHECKS tidak menghentikan MySQL dari mendiagnosis kesalahan, tetapi apa yang terjadi jika Anda memperbaiki ketidakcocokan jenis ini?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan cap waktu Unix di MySQL dari waktu UTC?

  2. Desain optimal untuk Database dengan acara berulang

  3. Menambahkan Model Data Entitas ADO.NET di VS 2017 dan tidak ada yang terjadi

  4. MySQL Wildcard untuk =- apakah ada?

  5. Data Grup Mysql Berdasarkan Waktu