删除触发器MySQL?

时间:2019-04-02 18:43:40

标签: mysql sql

当用户删除文章时,我在MySQL中使用触发器DELETE AFTER

此触发器将已删除的行复制到另一个克隆表中。

但是我有问题,如何设置用户ID,在删除后我复制行时谁删除了这篇文章?

我仅在服务器端并且只有在发生操作时才知道用户ID。

我想我应该创建一个过程,传递删除的文章和用户ID,您怎么看?

2 个答案:

答案 0 :(得分:1)

执行此操作的更常见方法是不复制到另一个表,而是在表上放置一个deleted_at时间戳列(和deleted_by来存储用户ID),并将WHERE deleted_at IS NULL添加到您的查询中。

这通常被称为“软删除”,并且比表的副本更易于管理。

答案 1 :(得分:-3)

我建议使用php / js或您使用的任何语言来应用此业务逻辑。但是,如果要将其保留在MySQL中,则可以在表和克隆表中添加列“ deleted_from”,并在删除行之前设置此列。