使用触发器对INSERT操作计数

时间:2016-01-25 17:22:38

标签: mysql sql

我是学生和初学SQL程序员。我在php和MySQL中构建论坛,用于我的数据库类。我想使用TRIGGER来计算INSERT操作,当用户写一篇文章时我想用他的实际消息数覆盖我的数据库表中的记录。这可能吗?

例如,我有两张桌子: user(id,username,password,email,number_of_messages) 消息(ID,日期,USER_ID,subject_id,主题,内容)

当用户写一条消息时,我想运行TRIGGER:

CREATE TRIGGER activity
 AFTER INSERT on messages 
  FOR EACH ROW UPDATE INTO user(number_of_messages) ....

而且我不知道该怎么做。你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

这是可能的,但跟踪消息计数并不是一个好主意。每次有必要时,您都可以通过这个简单的查询来计算它。

select count(*) message_count from `messages` m
  join `user` u on m.user_id = u.id
where u.id=<your user id> -- or where u.username = <your user name>