更新错误 - 主键的值相同

时间:2017-05-06 01:33:55

标签: mysql sql insert-update

我需要更新表格,如下所示:

enter image description here

主键是复合键 - id_planupor_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),这是我收到错误的原因。

我该怎么做正确的方法?

1 个答案:

答案 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