请求创建跨库删除触发器:旧表删除同步删除新表数据
实现旧表删除时同步删除新表数据的触发器
很简单,咱们直接写一个AFTER DELETE触发器就能搞定这个同步需求。假设你的旧表名为old_table(记得替换成你实际的旧表名称哦),触发器的创建语句如下:
DELIMITER // CREATE TRIGGER sync_delete_from_new_table AFTER DELETE ON old_table FOR EACH ROW BEGIN DELETE FROM new_table WHERE id = OLD.id; END // DELIMITER ;
关键细节解释:
AFTER DELETE:选择在旧表的删除操作完成后再触发,避免因为旧表删除失败导致新表误删数据FOR EACH ROW:每删除旧表中的一行数据,就会执行一次BEGIN...END里的删除逻辑OLD.id:这里的OLD代表被删除的那条旧表记录,通过它能拿到被删行的id值,用来匹配新表中要删除的对应行- 因为两张表结构完全一致,且
id是唯一标识(从你的建表语句看id是NOT NULL的主键),所以用id匹配是最可靠的
注意事项:
- 确保你有
TRIGGER权限才能创建触发器,如果执行时报权限错误,需要联系数据库管理员授权 - 如果你的表用的不是
id作为唯一键,只需要把WHERE条件里的id换成实际的唯一标识字段就行
内容的提问来源于stack exchange,提问作者vkrishna
相关产品推荐
相关产品推荐

