簡體   English   中英

用於添加外鍵約束的 LinqPad 語法

[英]LinqPad Syntax for adding foreign key constraint

這是我在 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 
(
    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 無效。 [貓號]

有人可以幫助我使用 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 列?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM