小编Lon*_*olf的帖子

mysql 中 On Delete Cascade 和 On Update Cascade 的区别

我在 MySQL 数据库中有两个表 - parent, child. 我正在尝试根据父表向我的子表添加外键引用。有没有之间的任何显著差异ON UPDATE CASCADEON DELETE CASCADE

我的父表

CREATE TABLE parent (
    id INT NOT NULL,
    PRIMARY KEY (id)
) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)

我的问题是:以下 sql 查询有什么区别。

  1. ON DELETE CASCADE

    CREATE TABLE child (
        id INT, 
        parent_id INT,
        INDEX par_ind (parent_id),
        FOREIGN KEY (parent_id) 
            REFERENCES parent(id)
            ON DELETE CASCADE
    ) ENGINE=INNODB;
    
    Run Code Online (Sandbox Code Playgroud)
  2. ON UPDATE CASCADE

    CREATE TABLE child (
        id INT, 
        parent_id INT,
        INDEX par_ind (parent_id),
        FOREIGN KEY (parent_id) 
            REFERENCES parent(id)
            ON UPDATE CASCADE
    ) …
    Run Code Online (Sandbox Code Playgroud)

mysql innodb foreign-key mysql-5.5

85
推荐指数
3
解决办法
19万
查看次数

标签 统计

foreign-key ×1

innodb ×1

mysql ×1

mysql-5.5 ×1