1. MySQL用一个表的字段更新到另一个表中
1.1.需求是:将给MySQL的一个表中,新增一个排序字段sort_no,并从1-n的递增顺序进行赋值,尝试用以下的SQL解决,但报错:
set @j:=1;
update department dp
set dp.sort_no = t.rown
from (select id,sort_no,@j:=@j+1 rown from department where sort_no is null) t
where dp.id = t.id
1.2. MySQL不支持这样的更新操作,修改成如下的SQL语句:
set @j:=1;
update department dp , (select id,sort_no,@j:=@j+1 rown from department where sort_no is null) t
set dp.sort_no = t.rown
where dp.id = t.id;