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

时间:2018-11-20 05:57:36

标签: mysql

我想创建一个具有外键关系的客户表,但是当我执行查询时,出现了这样的错误:

  

(错误号: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;

2 个答案:

答案 0 :(得分:0)

检查是否:

  • “ employeeNumber”列应有一个索引。
  • 'salesRepEmployeeNumber'和'employeeNumber'具有相同的类型和
    长度。

答案 1 :(得分:0)

检查值是否与“ salesRepEmployeeNumber”一起存在,该值在salesRepEmployeeNumber表中不可用。尝试删除所有“ salesRepEmployeeNumber”。在建立外键关系之前,请检查所有参考ID。