新手入门学习 MySQL数据库中如何定义外键
新手入门学习 MySQL数据库中如何定义外键
定义数据表假如某个电脑生产商,它的数据库中保存着整机和配件的产品信息。用来保存整机产品信息的表叫做 Pc;用来保存配件供货信息的表叫做Parts。
在Pc表中有一个字段,用来描述这款电脑所使用的CPU型号;
在Parts 表中相应有一个字段,描述的正是CPU的型号,我们可以把它想成是全部CPU的型号列表。
很显然,这个厂家生产的电脑,其使用的CPU一定是供货信息表(parts)中存在的型号。这时,两个表中就存在一种约束关系(constraint)——Pc表中的CPU型号受到Parts 表中型号的约束。
首先我们来创建 parts 表:
CREATE TABLE parts (
... 字段定义 ...,
model VARCHAR(20) NOT NULL,
... 字段定义 ...
);
接下来是Pc表:
CREATE TABLE pc (
... 字段定义 ...,
cpumodel VARCHAR(20) NOT NULL,
... 字段定义 ...
};
设置索引
若要设置外键,在参照表(referencing table,即Pc表) 和被参照表 (referenced table,即parts表) 中,相对应的两个字段必须都设置索引(index)。
对Parts表:
ALTER TABLE parts ADD INDEX idx_model (model);
这句话的意思是,为 parts 表增加一个索引,索引建立在 model 字段上,给这个索引起个名字叫idx_model。
对Pc表也类似:
ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);
事实上这两个索引可以在创建表的时候就设置。这里只是为了突出其必要性。
|
【内容导航】 | |
第1页:新手入门学习 MySQL数据库中如何定义外键 | 第2页:新手入门学习 MySQL数据库中如何定义外键 |
评论暂时关闭