我一直在試圖建立一個表的外鍵指一個價格表,這是語法我到目前爲止,創建錯誤,我該如何解決這個語法才能使它工作?
CREATE TABLE shirts(
shirt_id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
shirt_name VARCHAR(100) NOT NULL,
shirt_type VARCHAR(10) NOT NULL,
shirt_size VARCHAR(20) NOT NULL,
qp_price NUMERIC(6,2) FOREIGN KEY REFERENCES price_list.price ON price_list.price_id=shirts.qp_price NOT NULL,
o_price NUMERIC(6,2) FOREIGN KEY REFERENCES price_list.price ON price_list.price_id=shirts.o_price NOT NULL,
clr_options VARCHAR(30) NULL,
qty NUMERIC(5,0) NULL
)ENGINE=INNODB
的「價格表」有3列,這是price_id,price_cat和價格。我想要襯衫表中的qp_price和o_price列是根據我在襯衫表上列出的數字顯示price_list表的價格列。例如,
,如果我做
INSERT INTO shirts(shirt_name,shirt_type,shirt_size,qp_price,o_price)VALUES
('Crewneck Tee','Men','S','1','2'),
('Crewneck Tee','Men','M','1','2'),
('Crewneck Tee','Men','L','1','2'),
('Crewneck Tee','Men','1X','1','2'),
('Crewneck Tee','Men','2X','3','4'),
('Crewneck Tee','Men','3X','5','6'),
('Crewneck Tee','Men','4X','7','8'),
('Crewneck Tee','Men','5X','9','10')
的SL圓領T恤將顯示在第一和價格列的第2行,因爲它鏈接到price_id列在表PRICE_LIST價格...我怎樣才能做到這一點?
'o_price NUMERIC(6,2)FOREIGN KEY REFERENCE'是否是發佈時的錯字或是從代碼中剪切並粘貼的?它應該是參考。 – JamieSee
它是從我的代碼複製...所以這是一個錯字,我糾正它,但它仍然失敗:(..大聲笑 – Optiq