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