mySQL根据条件更新两列

时间:2015-09-04 17:03:32

标签: mysql

我的原始查询如下所示:

UPDATE myTable
  SET period = IF(period > 1, period - 1, 13),
      year   = IF(period = 1, year - 1, year)

但是这个查询失败了,因为SET的第二部分使用了刚刚设置的句点版本,所以现在没有周期为1的记录。我想在一个查询中执行此操作 - 建议?

1 个答案:

答案 0 :(得分:0)

不确定您的目标是什么,但您可以将第二个条件更改为period=13

http://sqlfiddle.com/#!9/8cb38/1

UPDATE myTable
  SET period = IF(period > 1, period - 1, 13),
      year   = IF(period = 13, year - 1, year)
相关问题