这个问题在这里已经有答案了:
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;
2条答案
按热度按时间ukxgm1gy1#
检查是否:
“employeenumber”列应具有索引。
“salesrepemployeenumber”和“employeenumber”的类型和类型相同
长度。
ctehm74n2#
检查“salesrepemployeenumber”的值是否存在,该值在salesrepemployeenumber表中不可用。尝试删除所有“salesrepemployeenumber”。在建立外键关系之前,请检查所有引用ID。