2013-03-04 1 views
0

내가 테이블을 삭제하기 위해 노력하고있어 나는이 오류를 받고 있어요 실패this- 삭제하거나 부모 행을 업데이트 할 수 없습니다 해결하는 방법 : 외래 키 제약 조건은

삭제하거나 부모 행을 업데이트 할 수 없습니다 :

문 : DROP TABLE vehiculo 오류 : #1217 - Cannot delete or update a parent row: a foreign key constraint fails

을 외래 키 제약 조건은 일부 제발 도움이 될 수

실패 vehiculo과의 관계를

테이블 :

CREATE TABLE `vehiculo` (
`numero_movil` int(3) unsigned NOT NULL, 
`numeroChasis` varchar(30) COLLATE utf8_spanish2_ci NOT NULL, 
`numeroMotor` varchar(30) COLLATE utf8_spanish2_ci NOT NULL, 
`Marca` varchar(15) COLLATE utf8_spanish2_ci NOT NULL, 
`Modelo` smallint(5) unsigned NOT NULL, 
`Color` varchar(10) COLLATE utf8_spanish2_ci NOT NULL, 
`Propietario_Cedula` int(11) NOT NULL, 
`Cuota` int(11) NOT NULL, 
`Turno_idTurno` tinyint(3) unsigned NOT NULL, 
`estado_pago_central` int(11) NOT NULL, 
`DocumentoVehiculo` int(10) unsigned NOT NULL, 
`f_numero_movil` int(10) unsigned NOT NULL, 
`f_Propietario_Cedula` int(11) NOT NULL, 
`idEstadoPapelesVehiculo` tinyint(3) unsigned NOT NULL, 
`placa` varchar(8) COLLATE utf8_spanish2_ci NOT NULL, 
PRIMARY KEY (`numero_movil`,`Propietario_Cedula`,`Turno_idTurno`,`estado_pago_central`,`DocumentoVehiculo`,`f_numero_movil`,`f_Propietario_Cedula`,`idEstadoPapelesVehiculo`), 
UNIQUE KEY `numeroChasis_UNIQUE` (`numeroChasis`), 
UNIQUE KEY `numeroMotor_UNIQUE` (`numeroMotor`), 
KEY `fk_Vehiculo_Propietario1_idx` (`Propietario_Cedula`), 
KEY `fk_Vehiculo_Turno1_idx` (`Turno_idTurno`), 
KEY `fk_Vehiculo_estado_pago_central1_idx` (`estado_pago_central`), 
KEY `fk_Vehiculo_DocumentosVehiculo1_idx` (`DocumentoVehiculo`,`f_numero_movil`,`f_Propietario_Cedula`,`idEstadoPapelesVehiculo`), 
CONSTRAINT `fk_Vehiculo_DocumentosVehiculo1` FOREIGN KEY (`DocumentoVehiculo`, `f_numero_movil`, `f_Propietario_Cedula`, `idEstadoPapelesVehiculo`) REFERENCES `documentosvehiculo` (`idDocumentoVehiculo`, `Vehiculo_numero_movil`, `Vehiculo_Propietario_Cedula`, `EstadoPapelesVehiculo_idEstadoPapelesVehiculo`) ON DELETE NO ACTION ON UPDATE NO ACTION, 
CONSTRAINT `fk_Vehiculo_estado_pago_central1` FOREIGN KEY (`estado_pago_central`) REFERENCES `estado_pago_central` (`idestado`) ON DELETE NO ACTION ON UPDATE NO ACTION, 
CONSTRAINT `fk_Vehiculo_Turno1` FOREIGN KEY (`Turno_idTurno`) REFERENCES `turno` (`idTurno`) ON DELETE NO ACTION ON UPDATE NO ACTION, 
CONSTRAINT `vehiculo_ibfk_1` FOREIGN KEY (`Propietario_Cedula`) REFERENCES `propietario` (`Cedula`) ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci 

CREATE TABLE `estadopapelesvehiculo` ( `idEstadoPapelesVehiculo` tinyint(3) unsigned NOT NULL,  `EstadoPapelesVehiculocol` varchar(45) COLLATE utf8_spanish2_ci NOT NULL,  PRIMARY KEY (`idEstadoPapelesVehiculo`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci 

CREATE TABLE `propietario` ( `Cedula` int(11) NOT NULL,  `apellidos` varchar(30) COLLATE utf8_spanish2_ci NOT NULL,  `nombre` varchar(30) COLLATE utf8_spanish2_ci NOT NULL,  `fechaNacimiento` date NOT NULL,  PRIMARY KEY (`Cedula`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci 
+0

차량 테이블을 외래 키로 사용하는 테이블이 있습니까? 일반적으로 테이블을 삭제하려고 할 때 문제가 발생하며 그 오류가 표시됩니다. – CBredlow

답변

2

당신은 그 테이블 안에, 그리고 드롭을 예방 또는 해당 행의 삭제되는 데이터에 의존하는 테이블이 있습니다. 의존하는 테이블이 무엇이든 찾아내는 경우 테이블을 삭제하거나 제약 조건을 제거한 다음 차량 테이블을 삭제할 수 있습니다.

+0

감사합니다. 문제가 해결되었습니다. D – user2132046

관련 문제