mysql中外码是什么
短信预约 -IT技能 免费直播动态提醒
外码是 mysql 中的数据完整性约束,通过引用主表主键列确保子表数据与主表一致。外码工作原理如下:确保子表引用的主表数据存在。级联删除:主表记录删除时,级联删除子表相关记录。级联更新:主表主键更新时,级联更新子表相关记录。
什么是 MySQL 中的外码?
外码(Foreign Key)是 MySQL 中的一种数据完整性约束,用于确保不同表之间的行具有有效且一致的关系。它通过引用另一个表(主表)中的主键列来实现。
外码如何工作?
当在子表中创建外码时,它会引用主表中的主键列。当向子表中插入一条记录时,外码列的值必须匹配主表中现有的主键值。
- 完整性:外码约束可确保子表中引用的数据始终在主表中存在。
- 级联删除:当主表中的记录被删除时,可以级联删除子表中所有相关记录,从而保持表之间的关系完整性。
- 级联更新:当主表中的主键值更新时,可以级联更新子表中所有相关记录,从而保持一致性。
创建外码
使用以下语法创建外码:
<code class="sql">ALTER TABLE 子表
ADD FOREIGN KEY (外码列) REFERENCES 主表(主键列);</code>
示例
假设我们有两个表:订单
和订单明细
。订单明细
表有一个外码 order_id
,它引用 订单
表中的主键 id
。
<code class="sql">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)
);</code>
当向 订单明细
表插入记录时,order_id
必须对应于 订单
表中的现有 id
值。这确保了订单明细始终与有效的订单关联。
以上就是mysql中外码是什么的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341