【发布时间】:2015-01-02 01:01:13
【问题描述】:
我想设置一个触发器来增加列值。如果我执行 INSERT,我希望它为 +1,如果我执行 DELETE,我希望它为 -1。
INSERT INTO `users saved` SET `userid` = '$user->id', `topicid` = '$topicid'
DELETE FROM `users saved` WHERE `userid` = '$user->id' AND `topicid` = '$topicid' LIMIT 1
数据库架构
`users saved`
id | userid | topicid
`total`
topicid | value
我希望触发器生效的表是total,我希望值列(int)上升或下降。
我很不确定从哪里开始。
【问题讨论】:
-
为什么在查询表的时候不这样做呢?
-
您的方法不如简单地即时计算连接上的聚合可靠。如果
total表上的UPDATE失败,你会怎么做?
标签: mysql sql triggers insert sql-delete