由于外键的原因,不能删除表中的一条记录。可以用触发器来实现删除。
CREATE TRIGGER trigger_name
BEFORE DELETE ON table1_name
FOR EACH ROW
BEGIN
DELETE FROM table2_name WHERE table2_id = OLD.id;
END;
“trigger_name”是触发器的名字(自己定义);
“table1_name”是建立该触发器的表。也就是要执行删除语句的表。
“table2_name”是触发器关联的表。即要级联删除的表。
“BEGIN END”关键词中间执行 删除的级联表中数据语句,多条语句用“;”间隔。
“old.”是关键字。代表级联表中的外键字段(具体删除哪条数据)。
DELEETE FROM table1_name WHERE table1_id=30;
这样再删除数据就会把所有相关的语句都删除了。