首页 > 解决方案 > SQL Server:在一张表上创建两个外键时出错

问题描述

create table TiposPeliculas
(
    id_tipoPelicula int identity (1, 1), 
    descipcion varchar (30)
    constraint pk_tipoPelicula primary key(id_tipoPelicula)
)

create table Generos
(
     id_genero int identity (1,1), 
     descripcion varchar(20)
     constraint pk_generos primary key(id_genero)
)

create table Peliculas 
(
     id_pelicula int not null, 
     id_tipoPelicula int, 
     id_genero int, 
     titulo varchar (30),
     duracion time,
     idioma varchar (30),
     sub bit
     constraint pk_pelicula primary key (id_pelicula, id_tipoPelicula)
     constraint fk_generoPelicula foreign key (id_genero) references Generos (id_genero),
     constraint fk_tipoPeliculasDePeli foreign key (id_tipoPelicula) references TipoPeliculas (id_tipoPelicula)
)

FOREIGN KEY forid_tipoPelicula引发错误:

外键“fk_tipoPeliculasDePeli”引用无效表“TipoPeliculas”

标签: sqlsql-serverssmsnormalization

解决方案


create table Peliculas 
(
      id_pelicula int not null, 
      id_tipoPelicula int, 
      id_genero int, 
      titulo varchar (30),
      duracion time,
      idioma varchar (30),
      sub bit 
  constraint pk_pelicula primary key (id_pelicula, id_tipoPelicula)  
  constraint fk_generoPelicula foreign key (id_genero) references Generos (id_genero), 
  constraint fk_tiposPeliculasDePeli foreign key (id_tiposPelicula) references TiposPeliculas (id_tiposPelicula)
)

这将解决关系名称 TiposPeliculas 中的拼写错误。


推荐阅读