外键引用无效表。无法创建约束或索引

时间:2018-11-26 01:28:08

标签: sql-server foreign-keys create-table

我正在尝试创建一个包含3列的表格。第一列应为名为DescriptionsID的标识列,第二列应为名为ProductID的外键列,第三列应为名为Description的xml列。但是,我收到一个错误:

  

外键'FK_ProductDescriptions_bacb18ce3aa67348e55d'引用无效的表'Product',并且“无法创建约束或索引。请参见先前的错误。”

这就是我得到的:

CREATE TABLE ProductDescriptions (DescriptionsID int PRIMARY KEY NOT NULL,

ProductID varchar(25) NOT NULL,

FOREIGN KEY (ProductID) REFERENCES Product(ProductID),

Description text NULL) ;

参考产品(ProductID)带有错误/红色下划线

1 个答案:

答案 0 :(得分:0)

创建引用约束时,需要确保要引用的表和列已存在于数据库中。

另外,引用列和被引用列的数据类型应相同

Column 'Product.ProductId' is not the same data type as referencing column
'ProductDescriptions.ProductID' in the foreign key

因此,首先创建产品表,然后将产品ID设置为主键

CREATE TABLE Product
(
    ProductId INT IDENTITY(1,1) PRIMARY KEY,
    ProductName VARCHAR(50)
)

CREATE TABLE ProductDescriptions 
(
    DescriptionsID int PRIMARY KEY NOT NULL,
    ProductID INT NOT NULL 
    ,FOREIGN KEY (ProductID) REFERENCES Product(ProductID),
    [Description] text NULL
) ;
相关问题