首页 文章

无法运行MySQL查询,返回错误无法添加或更新子行 .

提问于
浏览
-2

这是我正在尝试运行的查询,并从其他表中引入数据 .

insert into vehicleNormal (vehicleId, makeId, modelId, Year, cylinders, driveId, mpgHighway, mpgCity, fuelTypeId)
(select vehicleId, makeId, modelId, Year, cylinders, driveId, mpgHighway, mpgCity, fuelTypeId
from vehicle 
join vehicleMake on vehicleMake.vehicleMake = vehicle.make
join vehicleModel on vehiclemodel.vehicleModel = vehicle.model
join vehicleDrive on vehicleDrive.vehicleDrive = vehicle.drive
join vehicleFuelType on vehicleFuelType.vehicleFuelType = vehicle.fuelType);

这是我正在运行它的表 .

CREATE TABLE `vehicleNormal` (
  `vehicleId` int(11) unsigned NOT NULL,
  `makeId` int(11) DEFAULT NULL,
  `modelId` int(11) DEFAULT NULL,
  `Year` int(11) DEFAULT NULL,
  `cylinders` int(11) DEFAULT NULL,
  `driveId` int(11) DEFAULT NULL,
  `mpgHighway` decimal(11,0) DEFAULT NULL,
  `mpgCity` decimal(11,0) DEFAULT NULL,
  `fuelTypeId` int(11) DEFAULT NULL,
  PRIMARY KEY (`vehicleId`),
  CONSTRAINT `vehiclenormal_ibfk_1` FOREIGN KEY (`vehicleId`) REFERENCES `vehicleMake` (`makeId`),
  CONSTRAINT `vehiclenormal_ibfk_2` FOREIGN KEY (`vehicleId`) REFERENCES `vehicleModel` (`modelId`),
  CONSTRAINT `vehiclenormal_ibfk_3` FOREIGN KEY (`vehicleId`) REFERENCES `vehicleDrive` (`driveId`),
  CONSTRAINT `vehiclenormal_ibfk_4` FOREIGN KEY (`vehicleId`) REFERENCES `vehicleFuelType` (`fuelTypeId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这是我加入的5个表中的一个 .

CREATE TABLE `vehicleMake` (
  `makeId` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `vehicleMake` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`makeId`),
  UNIQUE KEY `vehicleMake` (`vehicleMake`)
) ENGINE=InnoDB AUTO_INCREMENT=191 DEFAULT CHARSET=utf8;

除表名外,其他表完全相同 . 它们每个都有2列(不包括 example_1812.Vehicle )我不能为我的生活弄清楚为什么我试图运行的查询返回错误:

无法添加或更新子行:外键约束失败(example_1812.vehiclenormal,CONSTRAINT vehiclenormal_ibfk_1 FOREIGN KEY(vehicleId)REFERENCES vehicleMake(makeId))

我期待table vehicleNormal从其他5个表中提取数据,其中4个是查找表 .

1 回答

  • 0

    您're getting this error because you'尝试根据当前存储在 table1 中的值,将行添加/更新为 table2 ,该行没有UserID字段的有效值 . 如果您发布更多代码,我可以帮助您诊断具体原因 .

相关问题