ZVVQ代理分享网

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

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

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

如何创建 MySQL 外键约束

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

流程 1:明确父表和子表

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

流程 2:建立父表管束

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

ALTERTABLEparent_tableADDPRIMARYKEY(id);

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

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

ALTERTABLEchild_tableADD FOREIGN KEY (parent_id)REFERENCESparent_table(id);

管束选项

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

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

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

CREATETABLE customers (

idINTNOTNULLAUTO_INCREMENT,

nameVARCHAR(255)NOTNULL,

PRIMARYKEY(id)

);

CREATETABLE orders(

idINTNOTNULLAUTO_INCREMENT,

customer_idINTNOTNULL,

product_idINTNOTNULL,

FOREIGNKEY(customer_id)REFERENCEScustomers(id)

);

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

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