1. 什么是主键?
主键是指在一张表中,用来唯一标识每一行数据的字段或字段组合。主键的值必须唯一,可以用来作为其他表中的外键。在MySQL中,主键的值不能为NULL,可以是数字、字符或日期等数据类型。主键可以通过以下两种方式设置:
(1)在创建表时,在需要作为主键的字段后面加上PRIMARY KEY关键字。
age INT(11) NOT NULL
(2)在创建表后,通过ALTER TABLE命令来添加主键。
t ADD PRIMARY KEY (id);
2. 什么是外键?
外键是指在一张表中,用来关联另一张表中主键的字段。外键的值必须和另一张表中的主键对应,如果另一张表中的主键值被改变或删除,与之关联的外键值也会随之改变或删除。在MySQL中,外键可以通过以下两种方式设置:
(1)在创建表时,在需要作为外键的字段后面加上FOREIGN KEY关键字,并指定关联的表和字段。
age INT(11) NOT NULL,
class_id INT(11),
FOREIGN KEY (class_id) REFERENCES class(id)
(2)在创建表后,通过ALTER TABLE命令来添加外键。
t ADD FOREIGN KEY (class_id) REFERENCES class(id);
3. 如何设置主外键关联?
在MySQL中,设置主外键关联需要满足以下条件:
noDB存储引擎。
(2)关联的两张表必须都有主键。
(3)外键字段的数据类型必须和主键字段的数据类型一致。
(4)外键字段的长度必须和主键字段的长度一致,或者外键字段的长度小于主键字段的长度。
(5)外键字段必须定义为NOT NULL,否则不能创建主外键关联。
CREATE TABLE class (
ame VARCHAR(20) NOT NULL
noDB;
age INT(11) NOT NULL,
class_id INT(11) NOT NULL,
FOREIGN KEY (class_id) REFERENCES class(id)
noDB;
tt的class_id字段建立了主外键关联。
以上就是本文关于MySQL中设置主外键关联的详细介绍,希望对大家有所帮助。