1

我有这张桌子:

CREATE TABLE `user` (
  `idUser` char(13) NOT NULL,
  `contrasena` varchar(50) NOT NULL DEFAULT '',
  `fechaInicio` datetime DEFAULT NULL,
  `emailRegistrado` varchar(100) DEFAULT NULL,
  `tipoUsuario` int(11) NOT NULL,

  PRIMARY KEY (`idUser`),
  KEY `tipoUser` (`tipoUsuario`) USING BTREE,
  CONSTRAINT `tipoUser` FOREIGN KEY (`tipoUsuario`) REFERENCES `tipo_user` (`idTipo`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf16;

然后这张表:

CREATE TABLE `alumno` (
  `idAlumno` char(10) NOT NULL DEFAULT '',
  `Nombre` varchar(60) NOT NULL,
  `ApePaterno` varchar(30) NOT NULL,
  `ApeMaterno` varchar(30) NOT NULL,
  `CURP` varchar(18) DEFAULT NULL,
  `Sexo` enum('H','M') NOT NULL,
  `FechaNac` date NOT NULL,
  `Estado_Nac` int(11) DEFAULT NULL,
  `Nacionalidad` int(11) DEFAULT NULL,

  PRIMARY KEY (`idAlumno`),
  KEY `fk_Alumno_Estados1_idx` (`Estado_Nac`) USING BTREE,
  KEY `fk_Alumno_Pais1_idx` (`Nacionalidad`) USING BTREE,
  CONSTRAINT `fk_Alumno_Estados1` FOREIGN KEY (`Estado_Nac`) REFERENCES `estadomexico` (`idEstados`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_Alumno_Pais1` FOREIGN KEY (`Nacionalidad`) REFERENCES `pais` (`idPais`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_Al_User` FOREIGN KEY (`idAlumno`) REFERENCES `user` (`idUser`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf16;

当我尝试更新用户的值时,MySQL 会抛出以下消息:

无法删除或更新父行:外键约束失败 ( mydb. empleado, CONSTRAINT fk_Empleado_USerFOREIGN KEY ( idEmpleado) REFERENCES user( idUser) ON DELETE CASCADE ON UPDATE CASCADE)

有人可以帮我吗?

4

0 回答 0