Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] ¿Dónde está el error?

Estas en el tema de ¿Dónde está el error? en el foro de Mysql en Foros del Web. Hola, tengo un script de creación generado con Mysql workbench. Al pasarlo por Mysql administrator me da error 1005 que según he leído es porque ...
  #1 (permalink)  
Antiguo 02/05/2013, 10:51
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
¿Dónde está el error?

Hola, tengo un script de creación generado con Mysql workbench. Al pasarlo por Mysql administrator me da error 1005 que según he leído es porque hay alguna foreign key incorrecta, pero no consigo encontrarlo. Pego aqui el script por si alguien me puede ayudar

Código MySQL:
Ver original
  1. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  2. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  3. SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
  4.  
  5. CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
  6. USE `mydb`;
  7.  
  8. -- -----------------------------------------------------
  9. -- Table `mydb`.`usuario`
  10. -- -----------------------------------------------------
  11. DROP TABLE IF EXISTS `mydb`.`usuario` ;
  12.  
  13. CREATE  TABLE IF NOT EXISTS `mydb`.`usuario` (
  14.   `dni` VARCHAR(9) NOT NULL ,
  15.   `nombre` VARCHAR(50) NOT NULL ,
  16.   `apellidos` VARCHAR(80) NOT NULL ,
  17.   `password` VARCHAR(25) NOT NULL ,
  18.   `telefono` DECIMAL(10,0) NOT NULL ,
  19.   `email` VARCHAR(45) NOT NULL ,
  20.   `direccion` VARCHAR(100) NOT NULL ,
  21.   `provincia` VARCHAR(45) NOT NULL ,
  22.   `cp` DECIMAL(10,0) NOT NULL ,
  23.   `fechanacimiento` DATE NOT NULL ,
  24.   `rol` VARCHAR(45) NOT NULL ,
  25.   `nss` VARCHAR(20) NULL ,
  26.   `fechaalta` DATE NULL ,
  27.   PRIMARY KEY (`dni`) )
  28.  
  29.  
  30. -- -----------------------------------------------------
  31. -- Table `mydb`.`camping`
  32. -- -----------------------------------------------------
  33. DROP TABLE IF EXISTS `mydb`.`camping` ;
  34.  
  35. CREATE  TABLE IF NOT EXISTS `mydb`.`camping` (
  36.   `idcamping` VARCHAR(9) NOT NULL ,
  37.   `nombre` VARCHAR(100) NOT NULL ,
  38.   `direccion` VARCHAR(150) NOT NULL ,
  39.   `cp` DECIMAL(10,0) NOT NULL ,
  40.   `provincia` VARCHAR(45) NOT NULL ,
  41.   `telefono` DECIMAL(10,0) NOT NULL ,
  42.   `email` VARCHAR(60) NOT NULL ,
  43.   `categoria` INT NOT NULL ,
  44.   PRIMARY KEY (`idcamping`) )
  45.  
  46.  
  47. -- -----------------------------------------------------
  48. -- Table `mydb`.`parcela`
  49. -- -----------------------------------------------------
  50. DROP TABLE IF EXISTS `mydb`.`parcela` ;
  51.  
  52. CREATE  TABLE IF NOT EXISTS `mydb`.`parcela` (
  53.   `idparcela` INT NOT NULL AUTO_INCREMENT ,
  54.   `tamano` INT NOT NULL ,
  55.   `sombra` TINYINT(1) NOT NULL ,
  56.   `precioalta` FLOAT NOT NULL ,
  57.   `preciobaja` FLOAT NOT NULL ,
  58.   `idcamping` VARCHAR(9) NOT NULL ,
  59.   PRIMARY KEY (`idparcela`, `idcamping`) ,
  60.   CONSTRAINT `fk_parcela_camping1`
  61.     FOREIGN KEY (`idcamping` )
  62.     REFERENCES `mydb`.`camping` (`idcamping` )
  63.  
  64. CREATE INDEX `fk_parcela_camping1` ON `mydb`.`parcela` (`idcamping` ASC) ;
  65.  
  66.  
  67. -- -----------------------------------------------------
  68. -- Table `mydb`.`bungalow`
  69. -- -----------------------------------------------------
  70. DROP TABLE IF EXISTS `mydb`.`bungalow` ;
  71.  
  72. CREATE  TABLE IF NOT EXISTS `mydb`.`bungalow` (
  73.   `idbungalow` INT NOT NULL AUTO_INCREMENT ,
  74.   `precioalta ` FLOAT NOT NULL ,
  75.   `preciobaja` FLOAT NOT NULL ,
  76.   `capacidad ` INT NOT NULL ,
  77.   `idcamping` VARCHAR(9) NOT NULL ,
  78.   PRIMARY KEY (`idbungalow`, `idcamping`) ,
  79.   CONSTRAINT `fk_bungalow_camping1`
  80.     FOREIGN KEY (`idcamping` )
  81.     REFERENCES `mydb`.`camping` (`idcamping` )
  82.  
  83. CREATE INDEX `fk_bungalow_camping1` ON `mydb`.`bungalow` (`idcamping` ASC) ;
  84.  
  85.  
  86. -- -----------------------------------------------------
  87. -- Table `mydb`.`actividad`
  88. -- -----------------------------------------------------
  89. DROP TABLE IF EXISTS `mydb`.`actividad` ;
  90.  
  91. CREATE  TABLE IF NOT EXISTS `mydb`.`actividad` (
  92.   `idactividad` VARCHAR(9) NOT NULL ,
  93.   `tipo` VARCHAR(45) NOT NULL ,
  94.   `nombre` VARCHAR(100) NOT NULL ,
  95.   `telefono` DECIMAL(10,0) NOT NULL ,
  96.   `direccion` VARCHAR(150) NOT NULL ,
  97.   `cp` DECIMAL(10,0) NOT NULL ,
  98.   `provincia ` VARCHAR(45) NOT NULL ,
  99.   `email` VARCHAR(60) NOT NULL ,
  100.   PRIMARY KEY (`idactividad`) )
  101.  
  102.  
  103. -- -----------------------------------------------------
  104. -- Table `mydb`.`clase`
  105. -- -----------------------------------------------------
  106. DROP TABLE IF EXISTS `mydb`.`clase` ;
  107.  
  108. CREATE  TABLE IF NOT EXISTS `mydb`.`clase` (
  109.   `idclase` INT NOT NULL AUTO_INCREMENT ,
  110.   `horaentrada` TIME NOT NULL ,
  111.   `duracion ` TIME NOT NULL ,
  112.   `preciobaja` FLOAT NOT NULL ,
  113.   `precioalta` FLOAT NOT NULL ,
  114.   `capacidadpersonas` INT NOT NULL ,
  115.   `diasemana` VARCHAR(45) NOT NULL ,
  116.   `idactividad` VARCHAR(9) NOT NULL ,
  117.   PRIMARY KEY (`idclase`, `idactividad`) ,
  118.   CONSTRAINT `fk_clase_actividad`
  119.     FOREIGN KEY (`idactividad` )
  120.     REFERENCES `mydb`.`actividad` (`idactividad` )
  121.  
  122. CREATE INDEX `fk_clase_actividad` ON `mydb`.`clase` (`idactividad` ASC) ;
  123.  
  124.  
  125. -- -----------------------------------------------------
  126. -- Table `mydb`.`reserva`
  127. -- -----------------------------------------------------
  128. DROP TABLE IF EXISTS `mydb`.`reserva` ;
  129.  
  130. CREATE  TABLE IF NOT EXISTS `mydb`.`reserva` (
  131.   `idreserva` INT NOT NULL AUTO_INCREMENT ,
  132.   `fechasalida` DATE NOT NULL ,
  133.   `fechaentrada` DATE NOT NULL ,
  134.   `numeropersonas` INT NOT NULL ,
  135.   `preciopagado` FLOAT NOT NULL ,
  136.   `preciototal` FLOAT NOT NULL ,
  137.   `estado ` VARCHAR(45) NOT NULL ,
  138.   `fechareserva` VARCHAR(45) NOT NULL ,
  139.   `idparcela` INT NULL ,
  140.   `parcelaidcamping` VARCHAR(9) NULL ,
  141.   `idbungalow` INT NULL ,
  142.   `bungalowidcamping` VARCHAR(9) NULL ,
  143.   `idclase` INT NULL ,
  144.   `idactividad` VARCHAR(9) NULL ,
  145.   `usuario_dni ` VARCHAR(9) NOT NULL ,
  146.   PRIMARY KEY (`idreserva`) ,
  147.   CONSTRAINT `fk_reserva_parcela1`
  148.     FOREIGN KEY (`idparcela` , `parcelaidcamping` )
  149.     REFERENCES `mydb`.`parcela` (`idparcela` , `idcamping` )
  150.   CONSTRAINT `fk_reserva_bungalow1`
  151.     FOREIGN KEY (`idbungalow` , `bungalowidcamping` )
  152.     REFERENCES `mydb`.`bungalow` (`idbungalow` , `idcamping` )
  153.   CONSTRAINT `fk_reserva_clase1`
  154.     FOREIGN KEY (`idclase` , `idactividad` )
  155.     REFERENCES `mydb`.`clase` (`idclase` , `idactividad` )
  156.   CONSTRAINT `fk_reserva_usuario1`
  157.     FOREIGN KEY (`usuario_dni ` )
  158.     REFERENCES `mydb`.`usuario` (`dni ` )
  159.  
  160. CREATE INDEX `fk_reserva_parcela1` ON `mydb`.`reserva` (`idparcela` ASC, `parcelaidcamping` ASC) ;
  161.  
  162. CREATE INDEX `fk_reserva_bungalow1` ON `mydb`.`reserva` (`idbungalow` ASC, `bungalowidcamping` ASC) ;
  163.  
  164. CREATE INDEX `fk_reserva_clase1` ON `mydb`.`reserva` (`idclase` ASC, `idactividad` ASC) ;
  165.  
  166. CREATE INDEX `fk_reserva_usuario1` ON `mydb`.`reserva` (`usuario_dni ` ASC) ;
  167.  
  168.  
  169. -- -----------------------------------------------------
  170. -- Table `mydb`.`Festivos`
  171. -- -----------------------------------------------------
  172. DROP TABLE IF EXISTS `mydb`.`Festivos` ;
  173.  
  174. CREATE  TABLE IF NOT EXISTS `mydb`.`Festivos` (
  175.   `idfestivos` INT NOT NULL AUTO_INCREMENT ,
  176.   `dia ` VARCHAR(45) NOT NULL ,
  177.   `mes` VARCHAR(45) NOT NULL ,
  178.   `año` VARCHAR(45) NOT NULL ,
  179.   PRIMARY KEY (`idfestivos`) )
  180.  
  181.  
  182. -- -----------------------------------------------------
  183. -- Table `mydb`.`excepciones`
  184. -- -----------------------------------------------------
  185. DROP TABLE IF EXISTS `mydb`.`excepciones` ;
  186.  
  187. CREATE  TABLE IF NOT EXISTS `mydb`.`excepciones` (
  188.   `idclase` INT NOT NULL ,
  189.   `idactividad` VARCHAR(9) NOT NULL ,
  190.   `idfestivos` INT NOT NULL ,
  191.   PRIMARY KEY (`idclase`, `idactividad`, `idfestivos`) ,
  192.   CONSTRAINT `fk_excepciones_clase1`
  193.     FOREIGN KEY (`idclase` , `idactividad` )
  194.     REFERENCES `mydb`.`clase` (`idclase` , `idactividad` )
  195.   CONSTRAINT `fk_excepciones_Festivos1`
  196.     FOREIGN KEY (`idfestivos` )
  197.     REFERENCES `mydb`.`Festivos` (`idfestivos` )
  198.  
  199. CREATE INDEX `fk_excepciones_clase1` ON `mydb`.`excepciones` (`idclase` ASC, `idactividad` ASC) ;
  200.  
  201. CREATE INDEX `fk_excepciones_Festivos1` ON `mydb`.`excepciones` (`idfestivos` ASC) ;
  202.  
  203.  
  204.  
  205. SET SQL_MODE=@OLD_SQL_MODE;
  206. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  207. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
  #2 (permalink)  
Antiguo 02/05/2013, 10:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Dónde está el error?

MySQL Administrator es una aplicación obsoleta y sin mantenimiento. Es altamente probable que no pueda ejecutar correctamente el script, pero eso no implica que el script esté mal.
Si quieres ver si es correcto, cargalo por medio de consola de comandos de sistema, o bien con la consola de MyQSL, usando el comando SOURCE.
Pero antes que nada, asegúrate que en ambos servidores esté corriendo la misma versión de MySQL.

Y tira a la basura el MySQL Administrator antes que te traiga más problemas. Ni siquiera tiene mantenimiento porque como proyecto fue cancelado y todas sus utilidades integradas al Workbench.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 02/05/2013, 12:25
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: ¿Dónde está el error?

Gracias por responder. He cargado el script con myphpadmin y no he tenido ningún problema.
Me olvidade de MySQL Administrator como bien dices.

Gracias por la ayuda.

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:14.