我需要更新表格,如下所示:
主键是复合键 - id_planu
和por_cislo
。
添加新行时,例如id_planu = '8' AND por_cislo = '5'
,我需要增加por_cislo > 5
<{1}}的所有行,例如por_cislo = por_cislo+1
有一个问题,因为当我这样做时:
UPDATE table SET por_cislo = por_cislo+1 WHERE id_planu = '8' AND por_cislo > '5'
por_cislo = '7'
的设定值为'6'
。因此,有两行具有相同的主键值(8,7
),这是我收到错误的原因。
我该怎么做正确的方法?
答案 0 :(得分:0)
您只需要添加ORDER BY
子句,如下所示:
UPDATE table SET por_cislo = por_cislo+1 WHERE id_planu = '8' AND por_cislo > '5' ORDER BY por_cislo DESC