Sql 用于添加外键约束的LinqPad语法
这是我在LinqPad中使用的SQL:Sql 用于添加外键约束的LinqPad语法,sql,linqpad,Sql,Linqpad,这是我在LinqPad中使用的SQL: CREATE TABLE Category ( catID int NOT NULL, catName NVARCHAR(150) NOT NULL, catDesc NVARCHAR(150) NULL, catCount int NOT NULL , CONSTRAINT category_pk PRIMARY KEY (catID) ); CREATE TABLE InventoryTBLC (
CREATE TABLE Category
(
catID int NOT NULL,
catName NVARCHAR(150) NOT NULL,
catDesc NVARCHAR(150) NULL,
catCount int NOT NULL ,
CONSTRAINT category_pk PRIMARY KEY (catID)
);
CREATE TABLE InventoryTBLC
(
itemID int NOT NULL IDENTITY(1,1) CONSTRAINT PK_items PRIMARY KEY,
itemName NVARCHAR(150) NOT NULL,
itemDesc NVARCHAR(150) NULL,
itemQuantity int,
itemPrice int,
imagePath NVARCHAR(300),
correctInsert NVARCHAR(300),
realImage image,
CONSTRAINT FK_category FOREIGN KEY (catID) REFERENCES Category(catID)
);
但我得到了以下错误:
无效的列ID。[catID]
有人能帮我学习LinqPad语法吗?如果要使用列作为外键,必须先在表定义中列出该列!添加外键约束不会将该列添加到表中 这绝不是Linqpad特有的-这是标准SQL行为 因此,您需要将
catId
添加到第二个表中,如下所示:
CREATE TABLE InventoryTBLC
(
itemID int NOT NULL IDENTITY(1,1) CONSTRAINT PK_items PRIMARY KEY,
itemName NVARCHAR(150) NOT NULL,
itemDesc NVARCHAR(150) NULL,
itemQuantity int,
itemPrice int,
imagePath NVARCHAR(300),
correctInsert NVARCHAR(300),
realImage image,
catID int NOT NULL, -- this column *MUST* exist to be used as FK
CONSTRAINT FK_category
FOREIGN KEY (catID) REFERENCES Category(catID)
);
或者,您想使用
InventoryTBLC
中其他预先存在的列之一作为FK列 @Deellieed:如果这个答案帮助你解决了问题,那么请。这将表达你对那些花自己的时间帮助你的人的感激之情。