sql >> Database >  >> Database Tools >> MySQL Workbench

fout 1215 MYSQL Kan geen externe sleutelbeperking toevoegen,

Als dit nieuwe tabellen zijn zonder waarden, lijkt het op een fout met de kolommen

de ene heeft een varchar(25) de andere een var_char(45) maakt ze hetzelfde

bewerken:

CREATE  TABLE IF NOT EXISTS `biblioteca`.`libro` (
  `isbn` VARCHAR(45) NOT NULL ,
  `idcategoria` INT(11) NOT NULL ,
  `ideditorial` INT(11) NOT NULL ,
  `titulo` VARCHAR(45) NOT NULL ,
  `autor` VARCHAR(45) NOT NULL ,
  `reseña` VARCHAR(45) NULL ,
  PRIMARY KEY (`isbn`) ,
  INDEX `fk_libro2_idx` (`idcategoria` ASC) ,
  INDEX `fk_libro3_idx` (`ideditorial` ASC) )

ENGINE = INNODB
DEFAULT CHARACTER SET = utf8;



CREATE  TABLE IF NOT EXISTS `biblioteca`.`ejemplar` (

  `idejemplar` INT(11) NOT NULL AUTO_INCREMENT ,

  `estado` VARCHAR(45) NOT NULL ,

  `comentario` VARCHAR(45) NULL ,

  `isbn` VARCHAR(45) NOT NULL ,

  PRIMARY KEY (`idejemplar`) ,

  INDEX `fk_ejemplar_libro1_idx` (`isbn` ASC) ,

  CONSTRAINT `fk_ejemplar_libro1`

    FOREIGN KEY (`isbn` )

    REFERENCES `biblioteca`.`libro` (`isbn` )

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

ENGINE = INNODB

DEFAULT CHARACTER SET = utf8;

werkt voor mij geen probleem. Ik heb de andere 2 sleutels weggehaald waarvoor ik echter geen schema's heb




  1. Migratie van SQL-database met SSMS

  2. veel op veel relatie bridge tafel dilemma

  3. Wat is de juiste syntaxis van de if-clausule voor een opgeslagen MySQL-functie?

  4. Selecteer een record alleen als het record ervoor een lagere waarde heeft, duurt te lang en mislukt