use*_*584 25 mysql inheritance foreign-keys primary-key
这应该是一个相当简单的问题,但我无法找到一个简单的答案.如何创建一个也是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);
);
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
提前致谢.
dgi*_*and 47
添加FOREIGN KEY (sale_id) REFERENCES Sale(sale_id)到每个外表:
CREATE TABLE Sale(
sale_id CHAR(40),
PRIMARY KEY(sale_id),
discount DOUBLE,
type VARCHAR(255),
price DOUBLE
) ENGINE=INNODB;
CREATE TABLE Normal_Sale(
sale_id CHAR(40),
PRIMARY KEY(sale_id),
FOREIGN KEY (sale_id) REFERENCES Sale(sale_id)
) ENGINE=INNODB;
CREATE TABLE Special_Sale(
sale_id CHAR(40),
PRIMARY KEY(sale_id),
FOREIGN KEY (sale_id) REFERENCES Sale(sale_id)
) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)
只需确保您的数据库InnoDB支持外部引用.
| 归档时间: |
|
| 查看次数: |
42011 次 |
| 最近记录: |