当用户删除文章时,我在MySQL中使用触发器DELETE AFTER
。
此触发器将已删除的行复制到另一个克隆表中。
但是我有问题,如何设置用户ID,在删除后我复制行时谁删除了这篇文章?
我仅在服务器端并且只有在发生操作时才知道用户ID。
我想我应该创建一个过程,传递删除的文章和用户ID,您怎么看?
答案 0 :(得分:1)
执行此操作的更常见方法是不复制到另一个表,而是在表上放置一个deleted_at
时间戳列(和deleted_by
来存储用户ID),并将WHERE deleted_at IS NULL
添加到您的查询中。
这通常被称为“软删除”,并且比表的副本更易于管理。
答案 1 :(得分:-3)
我建议使用php / js或您使用的任何语言来应用此业务逻辑。但是,如果要将其保留在MySQL中,则可以在表和克隆表中添加列“ deleted_from”,并在删除行之前设置此列。