【问题标题】:MySQL autoincrement on updateMySQL 更新时自动增量
【发布时间】:2012-05-18 23:51:51
【问题描述】:

我正在尝试为博客评论制作一个表格。在我的表中,我想要这些列:

  • 身份证
  • 评分总数
  • 评分总值

这样我就可以通过简单的数学得到平均评分。

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

例如,用 PHP 术语来说:

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

//do
$column+=5;

如果列是 INT,这是否可以通过 MySQL 更新函数实现?

【问题讨论】:

    标签: php mysql math


    【解决方案1】:

    试试这样的

    update mytable set total=total+1;
    

    【讨论】:

    • 请注意,total 不能是 NULL,因为 + 1 可以按预期工作。
    【解决方案2】:

    你可以使用这个语句:

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

    如果之前是null,这将把总数设置为1,否则增加它。
    不过,这有点小技巧,最好将列 total 创建为 default '0'

    【讨论】:

      猜你喜欢
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      相关资源
      最近更新 更多