我正在尝试创建一个包含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)带有错误/红色下划线
答案 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
) ;