您的位置:首页技术文章
文章详情页

mysql更新语句

浏览:117日期:2022-06-21 14:03:39

问题描述

下面的表:p_id是父id,old_id是以前的父id,现在需要把p_id的值改成id比如第一条数据,之前的父id是10,其实对应的是第二跳记录,所以更新后,p_id=2mysql更新语句更新后的结果:mysql更新语句这样的更新语句sql如何写?需要做的事情:通过p_id找到old_id,这时候的id就是要更新的值;第一条记录p_id==10,p_id=old_id=10的是第二天记录,把p_id更新成2

问题解答

回答1:

很久没写Mysql的查询操作了,不过我有个想法,对于上面表中的记录,p_id和old_id是在一张表中,既要做比较操作还要做更新操作。建议:

第一步:根据主表拆分一张临时表 tmp_id, old_tmp_id(对应主表中的old_id)

tmp_id old_tmp_id

1 30

2 10

3 20

第二步:左连接查询,where p_id == old_tmp_id, set p_id = tmp_id

回答2:

表名test

update test t1 inner join test t2 on t1.p_id = t2.old_idset t1.p_id = t2.id

回答3:

一条SQL弄不了,就放在事务里,更新两次吧

回答4:

mysql更新语句

UPDATE test t1INNER JOIN test t2 ON t1.p_id = t2.old_idSET t1.p_id = t2.id

相关文章: