0

我有两张桌子posts_appposts_unapp. 两者结构相同。

posts_app - 包含经过审核的帖子

"id"    "title" "body"  "url"   "user"  "country"

posts_unapp - 新帖子在这里结束

"id"    "title" "body"  "url"   "user"  "country"   "Status"
1       Hello   Test    Foo     Bar     Tar         2

posts_unapp包含尚未获得版主批准的新帖子。插入新帖子status = 2(这意味着它们尚未被检查并且既不被批准也不被拒绝)。

版主检查帖子后,该栏status将更新为true是否批准或false拒绝。posts_app这个时候是不是只有status设置为true才可以自动将post复制到表中呢?

这样做的一种方法是使用trigger on updateon posts_unapp。但问题是,主持人可以将 a 设置statustruefalse。两者都算作更新,并且都将触发触发器。设置不需要复制数据,只有设置为status = flase时才需要复制数据。statustrue

什么是这样做的好方法?我决定使用两张桌子来保持posts_app桌子清洁。

4

1 回答 1

2
DELIMITER $$
CREATE TRIGGER mytrig AFTER UPDATE ON posts_unapp
    FOR EACH ROW
    BEGIN
        IF NEW.Status = 'true' THEN  
            INSERT INTO posts_app VALUES(NEW.id, NEW.title,NEW.body,NEW.url,NEW.user,NEW.country);
        END IF;
    END;
$$
DELIMITER ;
于 2013-06-04T05:15:45.387 回答