mysql中外码是什么

2024年 4月 29日 48.8k 0

外码是 mysql 中的数据完整性约束,通过引用主表主键列确保子表数据与主表一致。外码工作原理如下:确保子表引用的主表数据存在。级联删除:主表记录删除时,级联删除子表相关记录。级联更新:主表主键更新时,级联更新子表相关记录。

mysql中外码是什么

什么是 MySQL 中的外码?

外码(Foreign Key)是 MySQL 中的一种数据完整性约束,用于确保不同表之间的行具有有效且一致的关系。它通过引用另一个表(主表)中的主键列来实现。

外码如何工作?

当在子表中创建外码时,它会引用主表中的主键列。当向子表中插入一条记录时,外码列的值必须匹配主表中现有的主键值。

  • 完整性:外码约束可确保子表中引用的数据始终在主表中存在。
  • 级联删除:当主表中的记录被删除时,可以级联删除子表中所有相关记录,从而保持表之间的关系完整性。
  • 级联更新:当主表中的主键值更新时,可以级联更新子表中所有相关记录,从而保持一致性。

创建外码

使用以下语法创建外码:

ALTER TABLE 子表
ADD FOREIGN KEY (外码列) REFERENCES 主表(主键列);

示例

假设我们有两个表:订单订单明细订单明细表有一个外码 order_id,它引用 订单表中的主键 id

CREATE TABLE 订单 (
  id INT PRIMARY KEY,
  客户名称 VARCHAR(255)
);

CREATE TABLE 订单明细 (
  id INT PRIMARY KEY,
  order_id INT,
  产品名称 VARCHAR(255),
  数量 INT,
  FOREIGN KEY (order_id) REFERENCES 订单(id)
);

当向 订单明细表插入记录时,order_id 必须对应于 订单表中的现有 id 值。这确保了订单明细始终与有效的订单关联。

以上就是mysql中外码是什么的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论