我试图创建一个触发器,将删除的一行复制到另一个表中。到目前为止,我只是在删除一行时将整个第一个表复制到第二个表中,不是很有用。
表1是具有注解标识、文件标识、用户标识、注解文本、注解日期时间和父项的注解
表2是具有删除的注解标识、文件标识、用户标识、注解文本、注解日期时间和注解删除日期时间的注解日志。
所以我只想让用户,版主或管理员删除的评论保存在comment_log中。
INSERT INTO comment_log(deleted_comment_id, file_id, user_id, comment_text,comment_datetime, comment_deletion_datetime)
SELECT comment.comment_id, file_id, user_id, comment_text, comment_datetime, CURRENT_TIMESTAMP
FROM comment
到目前为止,我已经尝试了一些类似WHERE的方法,但是我不知道该在那里放什么。old.comment_id应该给我旧的id,但是我不知道如何从comment表中只获得带有该id的注解。
1条答案
按热度按时间yvfmudvl1#
被删除的行的列在触发器中以
OLD.*
的形式提供,因此我将这样做: