温馨提示×

什么是DROP SQL语句的级联删除

sql
小樊
87
2024-09-14 19:43:01
栏目: 云计算

在SQL中,级联删除(Cascade Delete)是指当从一个表中删除一行数据时,与之关联的其他表中的数据也会被自动删除

以下是一个创建外键约束并设置级联删除的示例:

CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(50),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE
);

在这个例子中,child 表有一个名为 parent_id 的外键列,它引用了 parent 表的主键。通过在外键约束上添加 ON DELETE CASCADE 选项,我们告诉数据库在从 parent 表中删除一行数据时,也要从 child 表中删除所有与之关联的行。

例如,如果我们从 parent 表中删除一个ID为1的行,所有在 child 表中具有 parent_id 为1的行也将被自动删除。

DELETE FROM parent WHERE id = 1;

请注意,使用级联删除时要谨慎,因为它可能导致大量数据被意外删除。在实际应用中,根据业务需求和数据完整性要求来决定是否使用级联删除。

0