在 mysql 中根据外键设定数据完整性,保证父子表引入关联。建立父表后,创建子表并添加外键列,该列引入父表中的主键。优点包含数据完整性、级联删掉/升级操作和查询优化。
怎么设置 MySQL 外键
在 MySQL 中设置外键能够确保数据完整性,它强制执行父子表间的引入关联。
词法
ALTERTABLE子表 ADD FOREIGN KEY (子表列) REFERENCES 父表 (父表列)
流程
建立父表
最先,建立包括父数据的父表:
CREATETABLE父表 (
idINTNOTNULLAUTO_INCREMENT,
nameVARCHAR(255)NOTNULL,
PRIMARYKEY (id)
);
创建子表
下面,建立包含子数据的子表,并添加外键列:
CREATETABLE子表 (
idINTNOTNULLAUTO_INCREMENT,
nameVARCHAR(255)NOTNULL,
父表_id INTNOTNULL,
FOREIGNKEY (父表_id) REFERENCES 父表 (id),
PRIMARYKEY (id)
);
插入数据
插入数据时,保证子表的父表_id 列值引入父表中的目前纪录:
INSERTINTO父表 (name)VALUES (父表纪录 1);
INSERT INTO 子表 (name,父表_id)VALUES (子表纪录1,1);
优点
设定外键有如下优点:
数据完整性:保证子表中的数据与父表中的数据一致。 级联操作:当父表纪录被删除或更新时,级联操作容许自动升级或删除子表中的相关记录。 查询优化:根据使用外键检索,可以优化涉及子表和父表连接的查询。提醒
父表中的列种类应与子表中的外键列种类配对。父表中的列应具备唯一约束或主键。外键列在子表中一般非空。以上就是mysql设定外键怎么写的详细内容,大量请关注其他类似文章!