0
相同的价值观,我需要更新表看起来像这样:更新错误 - 的主键
主键是复合 - id_planu
和por_cislo
。
当添加新行例如id_planu = '8' AND por_cislo = '5'
,我需要增加其por_cislo > 5
的所有行像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
),这是我收到错误的原因。
我该怎么做才是正确的方法?
修改主键听起来不像是个好主意。你不想重新使用一把钥匙来拍摄另一张唱片,然后把所有东西都放在一起。只需用新密钥生成新记录,不要重复使用旧密钥。 – Glenn