【发布时间】:2015-12-13 21:12:53
【问题描述】:
我用一个由两部分组成的主键创建了这个表:
Create Table Part
(PartNumber Int Not Null,
VendorNumber Int Not Null References Vendor(VendorNumber),
PartDescription VarChar(100) Not Null,
UnitPrice Money Not Null,
MTDSales Money Not Null,
YTDSales Money Not Null,
UnitsOnHand Int Not Null,
UnitsAllocated Int Not Null,
ReorderPoint Int Not Null,
VendorPrice Money Not Null,
MinimumOrderQuantity Int Not Null,
ExpectedLeadTime Datetime Not Null,
Primary Key (PartNumber, VendorNumber))
另一个表正在引用 Part 表的主键:
Create Table OrderDetail
(OrderNumber Int Not Null References Orders(OrderNumber),
SEQNumber Int Not Null,
PartNumber Int Not Null References Part(PartNumber),
VendorNumber Int Not Null References Part(VendorNumber),
NumberOrdered Int Not Null,
QuotedPrice Money Not Null,
LineTotal Int Not Null,
Comments VarChar(100) Not Null,
Primary Key (OrderNumber, SEQNumber))
运行程序时,返回如下错误:
消息 1776,第 16 级,状态 0,第 99 行 引用表“Part”中没有与外键“FK__OrderDeta__PartN__239E4DCF”中的引用列列表匹配的主键或候选键。
谁能提供有关如何解决缺少主键错误的建议?
【问题讨论】:
标签: sql sql-server foreign-keys primary-key composite-primary-key