首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL查询-设置自动编号

MySQL查询-设置自动编号
EN

Stack Overflow用户
提问于 2014-08-14 05:21:36
回答 1查看 64关注 0票数 0

我有一个包含许多条目的数据库,从ID 100000开始,到ID 200000结束。现在,我尝试将第一个ID和最低ID设置为1,然后递减下一个ID +1

因此,新的第一个ID将是1,在该示例中,最后一个也是最高的ID将是99000。

有没有任何mysql查询,它从给定的数字更新行,并为下一行更新+1?

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 05:40:01

可以在update和join中使用行号查询,但update id使用来自连接结果集的行号result

代码语言:javascript
复制
update t
join ( 
select id,@r:=@r+1 `row`
from t 
cross join (select @r:=0) t1
) t2 on (t.id = t2.id)
set t.id = t2.row

注意:不要直接在您的生产数据库上运行此查询,首先使用您的数据库的副本测试它,如果结果成功,则应用于生产数据库

Fiddle Demo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25296359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档