如何解决错误“外键约束格式不正确”

9o685dep  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(371)

这个问题在这里已经有答案了

mysql外键约束格式错误(32个答案)
两年前关门了。
我想创建一个具有外键关系的customers表,但当我执行查询时,会出现如下错误:
(errno:150“外键约束格式不正确”)

CREATE TABLE `customers` (
  `customerNumber` int(11) NOT NULL,
  `customerName` varchar(50) NOT NULL,
  `contactLastName` varchar(50) NOT NULL,
  `contactFirstName` varchar(50) NOT NULL,
  `phone` varchar(50) NOT NULL,
  `addressLine1` varchar(50) NOT NULL,
  `addressLine2` varchar(50) DEFAULT NULL,
  `city` varchar(50) NOT NULL,
  `state` varchar(50) DEFAULT NULL,
  `postalCode` varchar(15) DEFAULT NULL,
  `country` varchar(50) NOT NULL,
  `salesRepEmployeeNumber` int(11),
  `creditLimit` decimal(10,2) DEFAULT NULL,
  PRIMARY KEY (`customerNumber`),
  KEY `salesRepEmployeeNumber` (`salesRepEmployeeNumber`),
  CONSTRAINT `customers_ibfk_1` FOREIGN KEY (`salesRepEmployeeNumber`) REFERENCES `employees` (`employeeNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ukxgm1gy

ukxgm1gy1#

检查是否:
“employeenumber”列应具有索引。
“salesrepemployeenumber”和“employeenumber”的类型和类型相同
长度。

ctehm74n

ctehm74n2#

检查“salesrepemployeenumber”的值是否存在,该值在salesrepemployeenumber表中不可用。尝试删除所有“salesrepemployeenumber”。在建立外键关系之前,请检查所有引用ID。

相关问题