16
這應該是一個相當直接的問題,但我無法找到一個簡單的答案。你如何創建一個也是MySQL主鍵的外鍵?這是我目前的嘗試:如何創建也是MySQL主鍵的外鍵?
CREATE TABLE Sale(
sale_id CHAR(40),
PRIMARY KEY(sale_id),
discount DOUBLE,
type VARCHAR(255),
price DOUBLE,
);
CREATE TABLE Normal_Sale(
sale_id CHAR(40),
PRIMARY KEY(sale_id);
);
CREATE TABLE Special_Sale(
sale_id CHAR(40),
PRIMARY KEY(sale_id);
);
我在這裏錯過了什麼?
在此先感謝。
這種設計看起來不正確。對我來說,您似乎可以在Sale中添加一個字段,將其標記爲正常或特殊。這種味道 – 2011-04-07 02:07:42
你正在過度規範化模式。正如Joe Phillips所說,存在一個更簡單的解決方案。您的設計可能會導致頭痛,因爲這兩個州應該是相互排斥的(正常的或特殊的),是什麼阻止銷售被記錄爲您的架構中的特殊和正常? *代碼*,你說?而已;這是你不需要的頭痛。 – 2011-04-07 02:18:52
這些只是虛擬示例。問題不是設計問題,而是技術問題。 – user456584 2013-03-07 16:22:48