SQL Server:在一个表上创建两个外键时出错

问题描述 投票:-1回答:2
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)
)

id_tipoPelicula的FOREIGN KEY引发了一个错误:

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

sql sql-server ssms normalization
2个回答
0
投票
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中拼写错误的错误。


0
投票

错误:

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

它说,外键是指无效的表“TipoPeliculas”,这意味着表“TipoPeliculas”不存在。

在您的问题中,表名是“TiposPeliculas”。因此,您似乎需要在参考中更正表名。

此外,列名称应为“id_tipoPelicula”而不是“id_tiposPelicula”。

运行以下代码

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 TiposPeliculas (id_tipoPelicula)
)
© www.soinside.com 2019 - 2024. All rights reserved.