MySql Trigger,在插入之前删除同一个表中的一行

时间:2009-07-01 19:24:20

标签: mysql sql triggers

这可能吗?在将一行插入tableA之前,我需要删除包含重复数据的tableA中的任何行。下面的触发器不会生成错误但也不起作用。

CREATE TRIGGER remove_old_user
BEFORE INSERT ON userStatus
FOR EACH ROW
DELETE FROM userStatus WHERE username = NEW.username

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

是否必须删除先前的记录,而不是更新以匹配新信息?听起来INSERT ... ON DUPLICATE KEY UPDATE会满足您的大部分需求。 MySQL manual

中的更多信息

(我假设该字段是唯一的,并且可以是主键的一部分)