步骤1:在需要删除的主表中,使用CASCADE选项创建外键约束。
例如,大家有一个订单表order和一个订单详情表order_detail,两个表之间的关系是一个订单可以对应多个订单详情。大家可以在order_detail表中创建一个外键,指向order表中的主键id,并加上CASCADE选项,这样在删除order表中的数据时,相关联的order_detail表中的数据也会被删除。
示例代码:
CREATE TABLE order (
id INT PRIMARY KEY,o VARCHAR(20),
…
CREATE TABLE order_detail (
id INT PRIMARY KEY,
order_id INT,ame VARCHAR(50),
…
FOREIGN KEY (order_id) REFERENCES order(id) ON DELETE CASCADE
步骤2:使用DELETE语句删除数据。
在删除数据时,只需要使用DELETE语句,不需要额外的操作,MySQL会自动处理关联表中的数据。
示例代码:
DELETE FROM order WHERE id = 1;
当删除id为1的订单时,相关联的订单详情也会被删除。
注意:使用CASCADE选项需要谨慎,因为它会直接删除关联表中的数据,可能会导致数据丢失。在使用时,需要确认操作的结果是否符合预期。