【发布时间】:2016-06-17 06:15:30
【问题描述】:
一个非常基本的脚本让我发疯。它说它找不到引用的密钥。不知道这是怎么一回事。我正在使用 SQL SERVER 2014,此脚本用于创建我的数据库表。我正在尝试使表TABLE_2 中的id_TABLE_1 引用表TABLE_1 的ID。
CREATE TABLE TABLE_1
(
id int identity,
email varchar(50) not null,
constraint PK_TABLE_1 primary key (id,email)
)
GO
CREATE TABLE TABLE_2
(
id int identity,
id_TABLE_1 int not null,
constraint PK_TABLE_2 primary key (id),
constraint FK_TABLE_2 foreign key (id_TABLE_1)
references TABLE_1(id) on delete cascade
)
GO
错误是:
Msg 1776,第 16 级,状态 0,第 32 行
被引用表“TABLE_1”中没有与外键“FK_TABLE_2”中的引用列列表匹配的主键或候选键。Msg 1750,第 16 级,状态 0,第 32 行
无法创建约束或索引。查看以前的错误。
你能帮帮我吗?
【问题讨论】:
-
错误消息准确地解释了问题所在。
OBJET_GEO.id列上没有索引。 -
不,您的主键是包含
id,email_utilisateur列的复合键。
标签: sql sql-server sql-server-2014