删除触发器不工作-MYSQL
第一张表-rm_desc删除触发器不工作-MYSQL,mysql,events,triggers,Mysql,Events,Triggers,第一张表-rm_desc 第二张桌子-房间类别映射 想要实现:当从rm_desc自动删除记录时,它还应该从room_cat_映射中删除相关记录 但下面的触发器不起作用,有什么新的线索可以触发吗 DROP TRIGGER IF EXISTS DELETE_ROOM_TYPES; DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ TRIGGER `DELETE_ROOM_TYPES` BEFORE DELETE
第二张桌子-房间类别映射 想要实现:当从rm_desc自动删除记录时,它还应该从room_cat_映射中删除相关记录 但下面的触发器不起作用,有什么新的线索可以触发吗
DROP TRIGGER IF EXISTS DELETE_ROOM_TYPES;
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `DELETE_ROOM_TYPES` BEFORE DELETE
ON `rm_desc`
FOR EACH ROW
BEGIN
DELETE FROM room_cat_mapping
WHERE room_cat_mapping.prop_id = rm_desc.res AND room_cat_mapping.room_cat_id = rm_desc.rm_cat;
END$$
DELIMITER ;
这应该做到:
DROP TRIGGER IF EXISTS DELETE_ROOM_TYPES;
DELIMITER $$
CREATE
TRIGGER `DELETE_ROOM_TYPES` AFTER DELETE
ON `rm_desc`
FOR EACH ROW
BEGIN
DELETE FROM room_cat_mapping
WHERE room_cat_mapping.prop_id = OLD.res AND room_cat_mapping.room_cat_id = OLD.rm_cat;
END$$
DELIMITER ;
我在之后将触发器更改为,并使用旧的引用删除的行值为什么在级联删除时使用触发器而不是外键?你收到了什么错误信息?你应该弄清楚什么不起作用。错误?什么也没发生?@shadow-不是带有级联删除的外键,因为room_cat_映射相同的记录可以重复well@andy-“不工作”是指自动从rm_desc中删除记录时,也不会从room_cat_映射中删除相关记录。对不起,不,它不工作,房间映射是否需要添加外键约束。目前?目前这两个表之间没有关系,这是一个问题吗?因为我以前也试过,它也不起作用