EDIT2:已解决感谢大家的快速回复,感谢您的帮助。特别感谢Jeremy Smyth先生的工作解决方案。
我对 sql 还很陌生,找不到进行更新查询的解决方案。我有下表
桌子:order
id | cid | pid
1 | 1 | a1
2 | 1 | a2
3 | 2 | a2
4 | 2 | a3
5 | 2 | a4
我希望 2 的 cid 变为 1,但不更新具有相同 pid ie(id.2 & id.3) 的行。我想要的结果是:
id | cid | pid
1 | 1 | a1
2 | 1 | a2
3 | 2 | a2
4 | '1' | a3
5 | '1' | a4
伪查询示例:UPDATE order SET cid=1 WHERE cid=2 AND 1.pid <> 2.pid;
EDIT1:不要将pid值与cid和id混淆,我在开始时用'a'更改了它们。正如建议的那样,我不会使用 order 作为表名。在更新时,我只是不想为 cid 重复 pid 抱歉英语不好。