2011-06-04 60 views
0

我正在尝试在博客上做一个评论表。在我的表,我想有这些列:更新时的MySQL自动增量

  • ID
  • 收视总数
  • 评级

这样我就可以得到平均评级,简单的数学的总价值。

有没有一种方法可以自动将1增加到具有总评分数的列,并将评分添加到总评分数中,而无需首先检索信息?

例如,在PHP方面:

//instead of doing 
$column=$currentValue; 
$column=$column+5; 

//do 
$column+=5; 

这可能与一个MySQL更新功能,如果列是INT?

回答

6

尝试这样的事情

update mytable set total=total+1; 
+1

请注意,'total'不能为'NULL',因为+1会按预期工作。 – 2011-06-04 07:11:47

2

您可以使用此声明:

UPDATE table1 SET total = IFNULL(total,0) + 1; 

这将合计设定为1,如果是null之前,增加它并非如此。
虽然这有些破解,但最好创建列total作为default '0'