MySQL—约束—外键约束中删除和更新行为(基础)
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
-- 创建示例表
CREATE TABLE 父表 (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE 子表 (
id INT,
parent_id INT,
FOREIGN KEY (parent_id) REFERENCES 父表(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;
-- 插入示例数据
INSERT INTO 父表 (id) VALUES (1);
INSERT INTO 子表 (id, parent_id) VALUES (1, 1);
-- 删除父表中的记录,子表中关联的记录也会被删除
DELETE FROM 父表 WHERE id = 1;
-- 更新父表中的记录,子表中关联的记录也会更新
UPDATE 父表 SET id = 2 WHERE id = 1;
在这个例子中,我们创建了两个表:父表
和子表
。在子表
中,我们定义了一个外键约束,它在父表的id
字段上,并且定义了在删除和更新父表中的id
字段时的行为:ON DELETE CASCADE
和ON UPDATE CASCADE
。这意味着如果父表中的记录被删除或更新,所有在子表中关联该记录的数据也将被自动删除或更新。
评论已关闭