ALTER TABLE 子表 ADD FOREIGN KEY (子表列) REFERENCES 父表 (父表列)步骤创建父表首先,创建包含父数据的父表:CREATE TABLE 父表 ( id INT N">

mysql设置外键怎么写

来源:这里教程网 时间:2026-02-28 18:13:01 作者:

如何设置 MySQL 外键

在 MySQL 中设置外键可以确保数据完整性,它强制执行父子表之间的引用关系。

语法

<code class="sql">ALTER TABLE 子表 ADD FOREIGN KEY (子表列) REFERENCES 父表 (父表列)</code>

步骤

    创建父表

    首先,创建包含父数据的父表:

    <code class="sql">CREATE TABLE 父表 (
      id INT NOT NULL AUTO_INCREMENT,
      name VARCHAR(255) NOT NULL,
      PRIMARY KEY (id)
    );</code>

    创建子表

    接下来,创建包含子数据的子表,并添加外键列:

    <code class="sql">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)
    );</code>

    插入数据

    插入数据时,确保子表的

    父表_id
    列值引用父表中的现有记录:

    <code class="sql">INSERT INTO 父表 (name) VALUES ('父表记录 1');
    INSERT INTO 子表 (name, 父表_id) VALUES ('子表记录 1', 1);</code>

优势

设置外键有以下优势:

数据完整性:确保子表中的数据与父表中的数据一致。 级联操作:当父表记录被删除或更新时,级联操作允许自动更新或删除子表中的相关记录。 查询优化:通过使用外键索引,可以优化涉及子表和父表联接的查询。

提示

父表中的列类型应与子表中的外键列类型匹配。 父表中的列应具有唯一约束或主键。 外键列在子表中通常非空。

相关推荐