
MySQL - Error 1072
Publicado por Juan Antonio (2 intervenciones) el 02/12/2017 14:03:53
Buenas tardes, estoy escribiendo mi primer script en MySQL y me sale un error 1072.
Creo que se trata de una FK (su orden) pero a pesar de escribir varias veces el código, insertando las FK en las mimas tablas y por último modificándolas mediante ALTER, no consigo que no me salga ese error 1072 repetidamente.
Por favor alguien me podría ayudar con esto?
Muchas gracias
Adjunto script
DROP SCHEMA IF EXISTS `clinica` ;
CREATE SCHEMA IF NOT EXISTS `clinica` DEFAULT CHARACTER SET utf8 ;
USE `clinica`;
-- -----------------------------------------------------
-- Table `clinica`.`VETERINARIO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`VETERINARIO`;
CREATE TABLE IF NOT EXISTS `clinica`.`VETERINARIO` (
`ID_Medico`VARCHAR (5) NOT NULL ,
`Fecha_Contratacion`DATE NOT NULL ,
`Telefono`INT NOT NULL ,
`Direccion`VARCHAR (100) NOT NULL ,
`Correo-e`VARCHAR (50) NOT NULL ,
`Nombre`VARCHAR (50) NOT NULL ,
`Nacimiento`DATE NOT NULL ,
`Especialidad`VARCHAR (50) NOT NULL ,
`Sexo`VARCHAR (10) NOT NULL ,
`Sueldo`VARCHAR (10) NOT NULL ,
PRIMARY KEY (`ID_Medico`)
);
-- -----------------------------------------------------
-- Table `clinica`.`SECCION`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`SECCION`;
CREATE TABLE IF NOT EXISTS `clinica`.`SECCION` (
`Nombre`VARCHAR (50) NOT NULL ,
`Correo-e`VARCHAR (50) NOT NULL ,
`Ubicacion`VARCHAR (20) NOT NULL ,
`Extesion`INT NOT NULL ,
`Descripcion`VARCHAR (100) NOT NULL ,
PRIMARY KEY (`Nombre`)
);
-- -----------------------------------------------------
-- Table `clinica`.`MASCOTA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`MASCOTA` ;
CREATE TABLE IF NOT EXISTS `clinica`.`MASCOTA` (
`ID_Mascota`VARCHAR (6) NOT NULL ,
`Nombre`VARCHAR (50) NOT NULL ,
`Especie`VARCHAR (50) NOT NULL ,
`Raza`VARCHAR (50) NOT NULL ,
`Ultimo_peso`VARCHAR (6) NOT NULL ,
`Fecha_Nacimiento`DATE NOT NULL ,
`Descripcion`VARCHAR (100) ,
`Sexo`VARCHAR (10) ,
PRIMARY KEY (`ID_Mascota`)
);
-- -----------------------------------------------------
-- Table `clinica`.`TRATAMIENTO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`TRATAMIENTO`;
CREATE TABLE IF NOT EXISTS `clinica`.`TRATAMIENTO` (
`ID_Tratamiento`VARCHAR (5) NOT NULL ,
`Fecha_Inicio`DATE NOT NULL ,
`Fecha_Fin`DATE NOT NULL ,
`Descripcion`VARCHAR (100) NOT NULL ,
PRIMARY KEY (`ID_Tratamiento`)
);
-- -----------------------------------------------------
-- Table `clinica`.`PRUEBA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`PRUEBA`;
CREATE TABLE IF NOT EXISTS `clinica`.`PRUEBA` (
`ID_Prueba`VARCHAR (50) NOT NULL ,
`Fecha_Prueba`DATE NOT NULL ,
`Duracion`VARCHAR (10) NOT NULL ,
`Tipo_Prueba`VARCHAR (50) NOT NULL ,
`Coste`VARCHAR (10) NOT NULL ,
`Descripcion`VARCHAR (100) NOT NULL ,
PRIMARY KEY (`ID_PRueba`)
);
-- -----------------------------------------------------
-- Table `clinica`.`REALIZA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`REALIZA`;
CREATE TABLE IF NOT EXISTS `clinica`.`REALIZA` (
`ID_Medico`VARCHAR (5) NOT NULL ,
`ID_Prueba`VARCHAR (50) NOT NULL ,
PRIMARY KEY (`ID_Medico`,`ID_Prueba`),
FOREIGN KEY (`ID_Medico`)
REFERENCES `clinica`.`VETERINARIO` (`ID_Medico`),
FOREIGN KEY (`ID_Prueba`)
REFERENCES `clinica`.`PRUEBA` (`ID_Prueba`)
);
-- -----------------------------------------------------
-- Table `clinica`.`PROPIETARIO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`PROPIETARIO` ;
CREATE TABLE IF NOT EXISTS `clinica`.`PROPIETARIO` (
`DNI`VARCHAR (9) NOT NULL ,
`Nombre`VARCHAR (50) NOT NULL ,
`Ciudad`VARCHAR (50) NOT NULL ,
`Telefono`INT NOT NULL ,
`Sexo`VARCHAR (10) NOT NULL ,
`Fecha_Alta`DATE NOT NULL ,
`Profesion`VARCHAR (50) NOT NULL ,
`Correo-e`VARCHAR (100) NOT NULL ,
`Fecha_Nacimiento`DATE NOT NULL ,
PRIMARY KEY (`DNI`)
);
ALTER TABLE `clinica`.`VETERINARIO`
ADD FOREIGN KEY (`Nombre`) REFERENCES `clinica`.`SECCION`(`Nombre`);
ALTER TABLE `clinica`.`TRATAMIENTO`
ADD FOREIGN KEY (`ID_Mascota`) REFERENCES `clinica`.`MASCOTA`(`ID_Mascota`);
ALTER TABLE `clinica`.`TRATAMIENTO`
ADD FOREIGN KEY (`ID_Medico`) REFERENCES `clinica`.`VETERINARIO`(`ID_Medico`);
ALTER TABLE `clinica`.`PRUEBA`
ADD FOREIGN KEY (`ID_Mascota`) REFERENCES `clinica`.`MASCOTA`(`ID_Mascota`);
ALTER TABLE `clinica`.`SECCION`
ADD FOREIGN KEY (`ID_Medico`) REFERENCES `clinica`.`VETERINARIO`(`ID_Medico`);
Creo que se trata de una FK (su orden) pero a pesar de escribir varias veces el código, insertando las FK en las mimas tablas y por último modificándolas mediante ALTER, no consigo que no me salga ese error 1072 repetidamente.
Por favor alguien me podría ayudar con esto?
Muchas gracias
Adjunto script
DROP SCHEMA IF EXISTS `clinica` ;
CREATE SCHEMA IF NOT EXISTS `clinica` DEFAULT CHARACTER SET utf8 ;
USE `clinica`;
-- -----------------------------------------------------
-- Table `clinica`.`VETERINARIO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`VETERINARIO`;
CREATE TABLE IF NOT EXISTS `clinica`.`VETERINARIO` (
`ID_Medico`VARCHAR (5) NOT NULL ,
`Fecha_Contratacion`DATE NOT NULL ,
`Telefono`INT NOT NULL ,
`Direccion`VARCHAR (100) NOT NULL ,
`Correo-e`VARCHAR (50) NOT NULL ,
`Nombre`VARCHAR (50) NOT NULL ,
`Nacimiento`DATE NOT NULL ,
`Especialidad`VARCHAR (50) NOT NULL ,
`Sexo`VARCHAR (10) NOT NULL ,
`Sueldo`VARCHAR (10) NOT NULL ,
PRIMARY KEY (`ID_Medico`)
);
-- -----------------------------------------------------
-- Table `clinica`.`SECCION`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`SECCION`;
CREATE TABLE IF NOT EXISTS `clinica`.`SECCION` (
`Nombre`VARCHAR (50) NOT NULL ,
`Correo-e`VARCHAR (50) NOT NULL ,
`Ubicacion`VARCHAR (20) NOT NULL ,
`Extesion`INT NOT NULL ,
`Descripcion`VARCHAR (100) NOT NULL ,
PRIMARY KEY (`Nombre`)
);
-- -----------------------------------------------------
-- Table `clinica`.`MASCOTA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`MASCOTA` ;
CREATE TABLE IF NOT EXISTS `clinica`.`MASCOTA` (
`ID_Mascota`VARCHAR (6) NOT NULL ,
`Nombre`VARCHAR (50) NOT NULL ,
`Especie`VARCHAR (50) NOT NULL ,
`Raza`VARCHAR (50) NOT NULL ,
`Ultimo_peso`VARCHAR (6) NOT NULL ,
`Fecha_Nacimiento`DATE NOT NULL ,
`Descripcion`VARCHAR (100) ,
`Sexo`VARCHAR (10) ,
PRIMARY KEY (`ID_Mascota`)
);
-- -----------------------------------------------------
-- Table `clinica`.`TRATAMIENTO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`TRATAMIENTO`;
CREATE TABLE IF NOT EXISTS `clinica`.`TRATAMIENTO` (
`ID_Tratamiento`VARCHAR (5) NOT NULL ,
`Fecha_Inicio`DATE NOT NULL ,
`Fecha_Fin`DATE NOT NULL ,
`Descripcion`VARCHAR (100) NOT NULL ,
PRIMARY KEY (`ID_Tratamiento`)
);
-- -----------------------------------------------------
-- Table `clinica`.`PRUEBA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`PRUEBA`;
CREATE TABLE IF NOT EXISTS `clinica`.`PRUEBA` (
`ID_Prueba`VARCHAR (50) NOT NULL ,
`Fecha_Prueba`DATE NOT NULL ,
`Duracion`VARCHAR (10) NOT NULL ,
`Tipo_Prueba`VARCHAR (50) NOT NULL ,
`Coste`VARCHAR (10) NOT NULL ,
`Descripcion`VARCHAR (100) NOT NULL ,
PRIMARY KEY (`ID_PRueba`)
);
-- -----------------------------------------------------
-- Table `clinica`.`REALIZA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`REALIZA`;
CREATE TABLE IF NOT EXISTS `clinica`.`REALIZA` (
`ID_Medico`VARCHAR (5) NOT NULL ,
`ID_Prueba`VARCHAR (50) NOT NULL ,
PRIMARY KEY (`ID_Medico`,`ID_Prueba`),
FOREIGN KEY (`ID_Medico`)
REFERENCES `clinica`.`VETERINARIO` (`ID_Medico`),
FOREIGN KEY (`ID_Prueba`)
REFERENCES `clinica`.`PRUEBA` (`ID_Prueba`)
);
-- -----------------------------------------------------
-- Table `clinica`.`PROPIETARIO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `clinica`.`PROPIETARIO` ;
CREATE TABLE IF NOT EXISTS `clinica`.`PROPIETARIO` (
`DNI`VARCHAR (9) NOT NULL ,
`Nombre`VARCHAR (50) NOT NULL ,
`Ciudad`VARCHAR (50) NOT NULL ,
`Telefono`INT NOT NULL ,
`Sexo`VARCHAR (10) NOT NULL ,
`Fecha_Alta`DATE NOT NULL ,
`Profesion`VARCHAR (50) NOT NULL ,
`Correo-e`VARCHAR (100) NOT NULL ,
`Fecha_Nacimiento`DATE NOT NULL ,
PRIMARY KEY (`DNI`)
);
ALTER TABLE `clinica`.`VETERINARIO`
ADD FOREIGN KEY (`Nombre`) REFERENCES `clinica`.`SECCION`(`Nombre`);
ALTER TABLE `clinica`.`TRATAMIENTO`
ADD FOREIGN KEY (`ID_Mascota`) REFERENCES `clinica`.`MASCOTA`(`ID_Mascota`);
ALTER TABLE `clinica`.`TRATAMIENTO`
ADD FOREIGN KEY (`ID_Medico`) REFERENCES `clinica`.`VETERINARIO`(`ID_Medico`);
ALTER TABLE `clinica`.`PRUEBA`
ADD FOREIGN KEY (`ID_Mascota`) REFERENCES `clinica`.`MASCOTA`(`ID_Mascota`);
ALTER TABLE `clinica`.`SECCION`
ADD FOREIGN KEY (`ID_Medico`) REFERENCES `clinica`.`VETERINARIO`(`ID_Medico`);
- scipt1.zip(809,0 B)
Valora esta pregunta


0