在同一个表中,对值的进行判断,根据判断结果[是否]再进行更新
1 、有一个名叫mtt
的表
2 、mtt 表内有三个涉事字段,AID
,mttID
,UpdateTime
3 、mttID='3A2NN179'的条目,如果AID
不等于'2719',把这些条目的AID
更新为'2719',同时更新 UpdateTime 时间为 now(),
4 、如果AID
已经是 2719,则不用理会,也不用更新 UpdateTime
SELECT * FROM mtt
WHERE mttID
='3A2NN179';
程序上来说,
用 SELECT 到内容,程序本地判断,再去做两次 UPDATE,两三个交互的是能做到,握手延时等,费效比不好,看看有无一句完成的可能?
1
CEBBCAT 2021-04-18 22:53:27 +08:00 1
UPDATE mtt SET AID='2719',UpdateTime=UNIX_TIMESTAMP() WHERE mttID='3A2NN179' AND AID!='2719'
这样? |
2
uti6770werty OP @CEBBCAT 赞一个,思路拐了一个弯就没想到,感谢!
|
3
jorneyr 2021-04-19 09:45:51 +08:00
|
4
devswork 2021-04-19 14:26:49 +08:00
update xxx where mttID='3A2NN179' and AID != '2719'
不就可以啦? |