我正在尝试实现一个评级系统,在我的数据库表中保留以下两个字段:
rating(当前评分) num_rates(到目前为止提交的评分数)
UPDATE `mytable`
SET rating=((rating*num_rates)+$theRating)/num_rates, num_rates=num_rates+1
WHERE uniqueCol='$uniqueCol'
变量来自我的 PHP 代码。
因此,基本上有时数据库中不存在具有 uniqueCol 的行,所以如果存在,我该如何执行上述语句,如果不存在,则执行以下操作:
INSERT INTO `mytable`
SET rating=$theRating, num_rates=1, uniqueCol=$uniqueCol