zvvq技术分享网

mysql外键约束怎么弄(mysql添加外键约束的sql语句

作者:zvvq博客网
导读如何创建 mysql 外键约束?确定父表和子表。在父表中创建主键约束。在子表中创建外键约束,引用父表中的特定列。 如何创建 MySQL 外键约束 在 MySQL 中创建外键约束可确保数据完整性

如何创建 mysql 外键约束?明确父表和子表。在父表中建立主键约束。在子表中建立外键约束,引入父表中的特殊列。

copyright zvvq

内容来自samhan666

如何创建 MySQL 外键约束

内容来自samhan666

在 MySQL 中建立外键约束可确保数据完整性,并阻止对父表不一致的变更。以下步骤表明如何创建外键约束:

内容来自samhan666

流程 1:明确父表和子表

内容来自samhan

确定要创建外键联系的父表和子表。外键列将存在子表中,并引入父表中的主键列。

zvvq好,好zvvq

流程 2:建立父表管束 zvvq.cn

在父表中建立主键约束以唯一标识每排。比如:

内容来自zvvq,别采集哟

ALTERTABLEparent_tableADDPRIMARYKEY(id);

zvvq

流程 3:在子表中建立外键约束 zvvq好,好zvvq

应用 FOREIGN KEY 子句在子表中建立外键约束,引入父表中特殊列。比如:

内容来自zvvq,别采集哟

ALTERTABLEchild_tableADD FOREIGN KEY (parent_id)REFERENCESparent_table(id); zvvq好,好zvvq

管束选项 内容来自zvvq

还可以配置下列管束选项:

zvvq好,好zvvq

ONUPDATECASCADE:当父表中相关记录产生变更时,将自动升级子表中引入记录。ONDELETECASCADE:当父表中相关记录被删除时,将自动删除子表中引入记录。ONUPDATERESTRICT/SETNULL/SETDEFAULT:依据指定操作(限定、设定为空或设置默认值)去处理对父表中相关记录更新。ONDELETERESTRICT/SETNULL/SETDEFAULT:依据指定操作(限定、设定为空或设置默认值)去处理对父表中相关记录的删掉。实例 内容来自samhan666

下列实例创建一个父表 customers 和一个子表 orders,其中 customer_id 列是子表中的外键,引入 customers 表中的 id 列: zvvq

CREATETABLE customers (

内容来自samhan

idINTNOTNULLAUTO_INCREMENT,

本文来自zvvq

nameVARCHAR(255)NOTNULL, 内容来自samhan

PRIMARYKEY(id) zvvq.cn

);

zvvq.cn

CREATETABLE orders(

内容来自zvvq

idINTNOTNULLAUTO_INCREMENT,

zvvq.cn

customer_idINTNOTNULL, copyright zvvq

product_idINTNOTNULL, zvvq好,好zvvq

FOREIGNKEY(customer_id)REFERENCEScustomers(id) 内容来自samhan

); zvvq

通过创建外键约束,能够确保 orders表中的记录与 customers 表中的合理纪录相关联。这有助于避免数据不一致,并维护数据库的完整性。

内容来自samhan

以上就是mysql外键约束怎么做的详细内容,大量请关注其他类似文章! copyright zvvq