跳转到主内容
极星编程网:以代码为星,赴技术山海!

mysql设置外键怎么写

在 MySQL 中通过外键设置数据完整性,确保父子表引用关系。创建父表后,创建子表并添加外键列,该列引用父表中的主键。优势包括数据完整性、级联删除/更新操作和查询优化。 如何设置 MySQL 外键 在 MySQL 中设置外键可以确保数据完整性,它强制执行父子表之间的引用关系。 语法
ALTER TABLE 子表 ADD FOREIGN KEY (子表列) REFERENCES 父表 (父表列)
步骤 创建父表 首先,创建包含父数据的父表:
CREATE TABLE 父表 ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, PRIMARY KEY (id) );
创建子表 MySQL(Linux) MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。 下载 接下来,创建包含子数据的子表,并添加外键列:
CREATE TABLE 子表 ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, 父表_id INT NOT NULL, FOREIGN KEY (父表_id) REFERENCES 父表 (id), PRIMARY KEY (id) );
插入数据 插入数据时,确保子表的
父表_id
列值引用父表中的现有记录:
INSERT INTO 父表 (name) VALUES ('父表记录 1'); INSERT INTO 子表 (name, 父表_id) VALUES ('子表记录 1', 1);
优势 设置外键有以下优势: 数据完整性: 确保子表中的数据与父表中的数据一致。 级联操作: 当父表记录被删除或更新时,级联操作允许自动更新或删除子表中的相关记录。 查询优化: 通过使用外键索引,可以优化涉及子表和父表联接的查询。 提示 父表中的列类型应与子表中的外键列类型匹配。 父表中的列应具有唯一约束或主键。 外键列在子表中通常非空。

相关文章