有一个需求,同一张表A表,当状态为4的时间,需要把lastmodifytime的值赋值到finishtime,这是一个多对多的关系,在网上我也查询了和多写法,也实现了,但是很麻烦
比如:
update A a,A b set a.FINISHTIME=b.LASTMODIFYTIME where a.TASKNO=b.TASKNO and a.TASKSTATUS=4;
但这种写法有问题,需要更改数据库安全措施 SET SQL_SAFE_UPDATES = 0;不建议这么写
最后请教了别人,更改为以下写法:
update A set FINISHTIME=LASTMODIFYTIME where TASKNO > '' and TASKSTATUS=4;
特别是TASKNO > '' 这一点,如果确实这个,sql会提示没有主键
MYSQL:同一张表,根据判断条件,把某个字段的值批量赋值给另一个字段
猜你喜欢
转载自blog.csdn.net/bigbig_bug/article/details/88846190
今日推荐
周排行