我目前正在为某种基于游戏/审阅者的应用程序创建数据库。每当用户提交对餐馆的评论时,它就会为他的分数增加分数。 SQL脚本的摘要如下:
CREATE TABLE user
userid CHAR(30)
user_name....
userpoints largeint
etc.
评论表在这里:
Restaurantid largeint (auto incrementing)
restaurantname CHAR(30)
etc.
如何在发布评论时对应用进行编程以提供积分?
答案 0 :(得分:2)
使用在reviews
表中的每个插入内自动触发的触发器:
delimiter |
CREATE TRIGGER review_trigger AFTER INSERT ON `reviews`
FOR EACH ROW BEGIN
update user
set userpoints = userpoints + 1
where userid = NEW.reviewer;
END
|
delimiter ;
我假设您reviews
表中有一个与用户相关的列 - 我称之为reviewer
。
答案 1 :(得分:0)
答案 2 :(得分:0)
您将要对触发器进行一些研究。触发器允许您在选择,更新,插入记录等时运行SQL语句。
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
您可以创建其中一个触发器,以便在插入审阅餐厅表时运行,并让它更新用户表以将1添加到该用户的用户点行。
答案 3 :(得分:0)
如果您希望数据库处理问题,您可以使用触发器执行此操作,或者您可以使用插入查询或更新查询在php中对其进行编程。