Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Създаване на таблица с FK грешка (errno 150)

Типът на полето във външния ключ трябва да е същият като типа на колоната, която препращат. Имате следното (изрязване):

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 ,

така че се опитвате да се позовавате на INT полета (в таблици state и brand ) с TINYINT полета в таблица location . Мисля, че това е грешката, от която се оплаква. Не съм сигурен как се появи на първо място или защо се нулира FOREIGN_KEY_CHECKS не спира MySQL да диагностицира грешката, но какво ще стане, ако коригирате това несъответствие на типа?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sqlite3 - Как да импортирате NULL стойности от csv

  2. Добавете още персонализирани променливи към mysql вмъкване при blueimp/jquery-file-upload

  3. Как да се свържа с MySQL база данни от приложение за Android?

  4. Пребройте редовете в MySQL заедно с действителното съдържание на редовете

  5. SQL WHERE условието не е равно на?