1
CREATE TABLE sampProduct
(
Product_ID VARCHAR(15) NOT NULL,
Supplier_ID INT NOT NULL,
Category_ID INT NOT NULL,
Unit_Price DECIMAL(10, 2)
PRIMARY KEY(Product_ID)
)
CREATE TABLE sampMachine
(
M_Product_ID VARCHAR(15) NOT NULL,
Serial_No VARCHAR(15) NOT NULL,
Machine_Model VARCHAR(20),
PRIMARY KEY(M_Product_ID, Serial_No),
FOREIGN KEY(M_Product_ID) REFERENCES sampProduct(Product_ID)
)
CREATE TABLE sampService
(
Service_ID VARCHAR(15) NOT NULL,
Serial_No VARCHAR(15) NOT NULL,
Complaint VARCHAR(40) NOT NULL,
PRIMARY KEY(Service_ID),
FOREIGN KEY(Serial_No) REFERENCES sampMachine(Serial_No)
)
機器是產品的子類型。 M_ProductID通過此鍵引用父表Product的主鍵。 Serial_No用於唯一標識一臺機器。問題是,我想創建一個從Serial_No到Service表的外鍵,因爲我想跟蹤機器的序列號(這是因爲,例如,我們可以爲每個模型或類型分配許多機器,但每個機器他們有他們獨特的序列號),但是創造有一個錯誤。你們能幫我嗎?在SQL Server上創建的主鍵未被識別
請花時間格式化您的代碼,以便我可以嘗試幫助您。 – lolol 2013-02-14 16:28:28
和錯誤是? – 2013-02-14 16:28:50
如果您想從其他表中引用它,您必須在'sampMachine(Serial_No)'上定義'UNIQUE'約束(或索引)。 – 2013-02-14 16:31:31