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

标签 mysql sql triggers

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

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

有什么想法吗?

最佳答案

是否有必要删除以前的记录,而不是更新以匹配新信息?听起来 INSERT ... ON DUPLICATE KEY UPDATE 可以满足您的大多数需求。更多信息在MySQL manual .

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

关于MySql触发器,在插入之前删除同一个表中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1070875/

相关文章:

javascript - 如何通过jquery触发器触发超链接?

sql - Postgres 触发器将许多列组合成一个 JSON 列

javascript - 在保存之前使用 Sequelize Build 构建并验证模型

php - 在 myslqli_fetch_array() 中使用 foreach 循环而不是 while

mysql - 无法获取 180 天的 SQL 日期来工作

mysql - mysql 中的过程

postgresql - 触发器中的多个过程调用?

php - 如何调用这个php函数

mysql - mysql中的Group By设置值

sql - 结束于 where 子句