1.添加外键约束
外键指的是在一个表中引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束,从而保证数据的一致性和完整性.
被用的表称为主表
引用外键的表称为从表
[ CONSTRAINT symbol] FOREIGN KEY [index_name(index_ col_name,… REFERENCES tbl_name(index_col_name,…)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION |SET DEFAULT}]
[ ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION |SET DEFAULT}]
FOREIGN KEY…REFERENCES关键字:向数据表中添加外键约束.
语法中第一行的参数¨ index_col_name,…“表示从表中外键名称列表.
tab_name表示主表,主表后的参数列表” index_col_name,"表示主键约或唯一性约束字段.
关键字 CONSTRAINT用于定义外键约束的名称 symbol,如果省略, MYSQL将会自动生成一个名字。
index_name也是可选参数,表示外键索引名称,如果省略, MySQL也会建立外键时自动创建一个外键索引,加快查询速度ON DELETE与 ON UPDATE用于设置主表中的数据被删除或修改时,从表对应数据的处理办法.
ON DELETE与 ON UPDATE的各参数含义:
创建数据库时,添加外键约束:
#在mydb数据库下创建主表
Create Table mydb.department(
id Int Unsigned Primary Key
Auto_Increment Comment "部门编号",
name Varchar(50) Not Null Comment"部门名称"
);
#在mydb数据库下创建表,添加外键表约束
Create Table mydb.