MySQL查询-设置自动编号
我有一个包含许多条目的数据库,从ID 100000开始,到ID 200000结束。 现在我尝试将第一个和最低的ID设置为1,并在下一个ID+1时减小 因此,在该示例中,新的第一个ID是1,最后一个也是最高的ID是99000MySQL查询-设置自动编号,mysql,mysqli,Mysql,Mysqli,我有一个包含许多条目的数据库,从ID 100000开始,到ID 200000结束。 现在我尝试将第一个和最低的ID设置为1,并在下一个ID+1时减小 因此,在该示例中,新的第一个ID是1,最后一个也是最高的ID是99000 是否存在任何mysql查询,它从给定的数字更新行,并为下一行加1?您可以在更新和联接中使用行数查询,并使用相同的表,但使用联接结果集中的行数结果更新id update t join ( select id,@r:=@r+1 `row` from t cross join
是否存在任何mysql查询,它从给定的数字更新行,并为下一行加1?您可以在更新和联接中使用行数查询,并使用相同的表,但使用联接结果集中的行数结果更新id
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
注意:不要直接在生产数据库上运行此查询。如果结果成功,请首先使用数据库副本对其进行测试
然后应用于生产数据库
更新您的_table SET id=id-99999怎么样?这是个好主意,但我正在寻找一些东西来设置第一个id 100,然后彼此+1下一个更新您的_table SET id=id-99900:尽可能简单: