Workbench 错误:错误3734:添加外键约束失败。缺列

Workbench 错误:错误3734:添加外键约束失败。缺列,workbench,Workbench,当尝试创建多对多关系时会发生这种情况,请您帮助。当我使用“前进引擎”时会发生这种情况。表“cancion”有一个id列。在尝试创建多对多关系时会发生这种情况,请帮助。当我使用“前进引擎”时会发生这种情况。表“cancion”有一个id列。在尝试创建多对多关系时会发生这种情况,请帮助。当我使用“前进引擎”时会发生这种情况。表“cancion”有一个id列 Executing SQL script in server ERROR: Error 3734: Failed to add the fore

当尝试创建多对多关系时会发生这种情况,请您帮助。当我使用“前进引擎”时会发生这种情况。表“cancion”有一个id列。在尝试创建多对多关系时会发生这种情况,请帮助。当我使用“前进引擎”时会发生这种情况。表“cancion”有一个id列。在尝试创建多对多关系时会发生这种情况,请帮助。当我使用“前进引擎”时会发生这种情况。表“cancion”有一个id列

Executing SQL script in server
ERROR: Error 3734: Failed to add the foreign key constraint. Missing column 'id' for constraint 'fk_CANCION_has_GENERO_CANCION1' in the referenced table 'cancion'
SQL Code:
        -- -----------------------------------------------------
        -- Table `spotify`.`CANCION_has_GENERO`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `spotify`.`CANCION_has_GENERO` (
          `CANCION_id` INT NOT NULL,
          `GENERO_id` INT NOT NULL,
          PRIMARY KEY (`CANCION_id`, `GENERO_id`),
          INDEX `fk_CANCION_has_GENERO_GENERO1_idx` (`GENERO_id` ASC) VISIBLE,
          INDEX `fk_CANCION_has_GENERO_CANCION1_idx` (`CANCION_id` ASC) VISIBLE,
          CONSTRAINT `fk_CANCION_has_GENERO_CANCION1`
            FOREIGN KEY (`CANCION_id`)
            REFERENCES `spotify`.`CANCION` (`id`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION,
          CONSTRAINT `fk_CANCION_has_GENERO_GENERO1`
            FOREIGN KEY (`GENERO_id`)
            REFERENCES `spotify`.`GENERO` (`id`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

SQL script execution finished: statements: 18 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch
全文如下:

-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema spotify
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema spotify
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `spotify` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci ;
USE `spotify` ;

-- -----------------------------------------------------
-- Table `spotify`.`MODELO_DE_NEGOCIO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`MODELO_DE_NEGOCIO` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`USUARIO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`USUARIO` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `email` VARCHAR(100) NOT NULL,
  `fecha_de_nacimiento` DATE NOT NULL,
  `sexo` VARCHAR(10) NULL,
  `codigo_postal` VARCHAR(20) NULL,
  `pais` VARCHAR(45) NOT NULL,
  `MODELO_DE_NEGOCIO_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_USUARIO_MODELO_DE_NEGOCIO1_idx` (`MODELO_DE_NEGOCIO_id` ASC) VISIBLE,
  CONSTRAINT `fk_USUARIO_MODELO_DE_NEGOCIO1`
    FOREIGN KEY (`MODELO_DE_NEGOCIO_id`)
    REFERENCES `spotify`.`MODELO_DE_NEGOCIO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`PASSWORD`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`PASSWORD` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `pass` VARCHAR(45) NULL,
  `fecha_de_modificacion` DATE NULL,
  `USUARIO_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_PASSWORD_USUARIO1_idx` (`USUARIO_id` ASC) VISIBLE,
  CONSTRAINT `fk_PASSWORD_USUARIO1`
    FOREIGN KEY (`USUARIO_id`)
    REFERENCES `spotify`.`USUARIO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`SERVICIO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`SERVICIO` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `tipo` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`FORMA_DE_PAGO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`FORMA_DE_PAGO` (
  `id` INT UNSIGNED NOT NULL,
  `tipo_pago` TINYINT NOT NULL,
  `marca_tarjeta_credito` VARCHAR(45) NULL,
  `ultimos_4_digitos_tarjeta_credito` TINYINT(4) NULL,
  `fecha_de_vencimiento_tarjeta_credito` DATE NULL,
  `cbu_o_alias` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`SUSCRIPCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`SUSCRIPCION` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `fecha_inicio_suscipcion` DATE NOT NULL,
  `fecha_renovación_servicio` DATE NOT NULL,
  `FORMA_DE_PAGO_id` INT UNSIGNED NOT NULL,
  `SERVICIO_id` INT NOT NULL,
  `FORMA_DE_PAGO_id1` INT UNSIGNED NOT NULL,
  `USUARIO_id` INT NOT NULL,
  PRIMARY KEY (`id`, `FORMA_DE_PAGO_id`),
  INDEX `fk_SUSCRIPCION_SERVICIO1_idx` (`SERVICIO_id` ASC) VISIBLE,
  INDEX `fk_SUSCRIPCION_FORMA_DE_PAGO1_idx` (`FORMA_DE_PAGO_id1` ASC) VISIBLE,
  INDEX `fk_SUSCRIPCION_USUARIO1_idx` (`USUARIO_id` ASC) VISIBLE,
  CONSTRAINT `fk_SUSCRIPCION_SERVICIO1`
    FOREIGN KEY (`SERVICIO_id`)
    REFERENCES `spotify`.`SERVICIO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_SUSCRIPCION_FORMA_DE_PAGO1`
    FOREIGN KEY (`FORMA_DE_PAGO_id1`)
    REFERENCES `spotify`.`FORMA_DE_PAGO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_SUSCRIPCION_USUARIO1`
    FOREIGN KEY (`USUARIO_id`)
    REFERENCES `spotify`.`USUARIO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`PLAYLIST`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`PLAYLIST` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(45) NOT NULL,
  `numero_de_canciones` INT NOT NULL,
  `fecha_de_creacion` DATE NOT NULL,
  `activa` TINYINT NOT NULL,
  `fecha_eliminacion` DATE NULL,
  `USUARIO_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_PLAYLIST_USUARIO1_idx` (`USUARIO_id` ASC) VISIBLE,
  CONSTRAINT `fk_PLAYLIST_USUARIO1`
    FOREIGN KEY (`USUARIO_id`)
    REFERENCES `spotify`.`USUARIO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`ARTISTA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`ARTISTA` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(100) NOT NULL,
  `url_imagen_artista` VARCHAR(300) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`DISCOGRAFIA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`DISCOGRAFIA` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(45) NOT NULL,
  `pais` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`ALBUM`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`ALBUM` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(100) NOT NULL,
  `anio_publicacion` YEAR NULL,
  `url_imagen_portada` VARCHAR(300) NULL,
  `ARTISTA_id` INT NOT NULL,
  `DISCOGRAFIA_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_ALBUM_ARTISTA1_idx` (`ARTISTA_id` ASC) VISIBLE,
  INDEX `fk_ALBUM_DISCOGRAFIA1_idx` (`DISCOGRAFIA_id` ASC) VISIBLE,
  CONSTRAINT `fk_ALBUM_ARTISTA1`
    FOREIGN KEY (`ARTISTA_id`)
    REFERENCES `spotify`.`ARTISTA` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_ALBUM_DISCOGRAFIA1`
    FOREIGN KEY (`DISCOGRAFIA_id`)
    REFERENCES `spotify`.`DISCOGRAFIA` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`CANCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`CANCION` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `titulo` VARCHAR(45) NOT NULL,
  `duracion` INT NULL,
  `numero_reproducciones` INT NULL,
  `likes` INT NULL,
  `ALBUM_id` INT NOT NULL,
  INDEX `fk_CANCION_ALBUM1_idx` (`ALBUM_id` ASC) VISIBLE,
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_CANCION_ALBUM1`
    FOREIGN KEY (`ALBUM_id`)
    REFERENCES `spotify`.`ALBUM` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`GENERO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`GENERO` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`PAGO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`PAGO` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `fecha` DATE NOT NULL,
  `monto` FLOAT NULL,
  `FORMA_DE_PAGO_id` INT UNSIGNED NOT NULL,
  `USUARIO_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_PAGO_FORMA_DE_PAGO1_idx` (`FORMA_DE_PAGO_id` ASC) VISIBLE,
  INDEX `fk_PAGO_USUARIO1_idx` (`USUARIO_id` ASC) VISIBLE,
  CONSTRAINT `fk_PAGO_FORMA_DE_PAGO1`
    FOREIGN KEY (`FORMA_DE_PAGO_id`)
    REFERENCES `spotify`.`FORMA_DE_PAGO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_PAGO_USUARIO1`
    FOREIGN KEY (`USUARIO_id`)
    REFERENCES `spotify`.`USUARIO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`CANCION_has_GENERO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`CANCION_has_GENERO` (
  `CANCION_id` INT NOT NULL,
  `GENERO_id` INT NOT NULL,
  PRIMARY KEY (`CANCION_id`, `GENERO_id`),
  INDEX `fk_CANCION_has_GENERO_GENERO1_idx` (`GENERO_id` ASC) VISIBLE,
  INDEX `fk_CANCION_has_GENERO_CANCION1_idx` (`CANCION_id` ASC) VISIBLE,
  CONSTRAINT `fk_CANCION_has_GENERO_CANCION1`
    FOREIGN KEY (`CANCION_id`)
    REFERENCES `spotify`.`CANCION` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANCION_has_GENERO_GENERO1`
    FOREIGN KEY (`GENERO_id`)
    REFERENCES `spotify`.`GENERO` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `spotify`.`PLAYLIST_has_CANCION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `spotify`.`PLAYLIST_has_CANCION` (
  `PLAYLIST_id` INT NOT NULL,
  `CANCION_id` INT NOT NULL,
  PRIMARY KEY (`PLAYLIST_id`, `CANCION_id`),
  INDEX `fk_PLAYLIST_has_CANCION_CANCION1_idx` (`CANCION_id` ASC) VISIBLE,
  INDEX `fk_PLAYLIST_has_CANCION_PLAYLIST1_idx` (`PLAYLIST_id` ASC) VISIBLE,
  CONSTRAINT `fk_PLAYLIST_has_CANCION_PLAYLIST1`
    FOREIGN KEY (`PLAYLIST_id`)
    REFERENCES `spotify`.`PLAYLIST` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_PLAYLIST_has_CANCION_CANCION1`
    FOREIGN KEY (`CANCION_id`)
    REFERENCES `spotify`.`CANCION` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;