微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误:错误 3734:无法添加外键约束缺少列

如何解决错误:错误 3734:无法添加外键约束缺少列

在尝试创建多对多关系时会发生这种情况,请您帮忙。当我使用“正向引擎”时会发生这种情况。表“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,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,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,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,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,`duracion` INT NULL,`numero_reproducciones` INT NULL,`likes` INT NULL,`ALBUM_id` INT NOT NULL,INDEX `fk_CANCION_ALBUM1_idx` (`ALBUM_id` ASC) VISIBLE,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,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,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,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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。