Php 从特定数字开始更改表中所有行的id值

Php 从特定数字开始更改表中所有行的id值,php,mysql,sql,Php,Mysql,Sql,我一张桌子上有1000行 我正在获取最后一个和下一个可用id(从开始) 我试图实现的是,当单击按钮时,更改所有1000行的id值+从$latest\u id 现在是: id 1 = car 1 id 2 = car 2 id 3 = car 3 ... 之后 有人能帮我做一下sql查询吗。您可以编写一个update语句,将表与计算最大值的子查询交叉联接,然后将最大值添加到每个id: update vehicles v inner join (select max(id) id from veh

我一张桌子上有1000行

我正在获取最后一个和下一个可用id(从开始)

我试图实现的是,当单击按钮时,更改所有1000行的id值+从
$latest\u id

现在是:

id 1 = car 1
id 2 = car 2
id 3 = car 3
...
之后


有人能帮我做一下sql查询吗。

您可以编写一个
update
语句,将表与计算最大值的子查询交叉联接,然后将最大值添加到每个
id

update vehicles v
inner join (select max(id) id from vehicles) vmax
set v.id = vmax.id + v.id

表的初始内容:

id | car -: | :---- 1 | car 1 2 | car 2 3 | car 3 4 | car 4 id |汽车 -: | :---- 1 |车1 2 |车2 3 |汽车3 4 |汽车4 运行查询后:

id | car -: | :---- 5 | car 1 6 | car 2 7 | car 3 8 | car 4 id |汽车 -: | :---- 5 | 1号车厢 6 |车辆2 7 |汽车3 8 |汽车4
您可以编写一个
update
语句,将表与计算最大值的子查询交叉联接,然后将最大值添加到每个
id

update vehicles v
inner join (select max(id) id from vehicles) vmax
set v.id = vmax.id + v.id

表的初始内容:

id | car -: | :---- 1 | car 1 2 | car 2 3 | car 3 4 | car 4 id |汽车 -: | :---- 1 |车1 2 |车2 3 |汽车3 4 |汽车4 运行查询后:

id | car -: | :---- 5 | car 1 6 | car 2 7 | car 3 8 | car 4 id |汽车 -: | :---- 5 | 1号车厢 6 |车辆2 7 |汽车3 8 |汽车4
UPDATE
语句与
JOIN一起使用

UPDATE vehicles as v
JOIN (SELECT MAX(id) AS maxid
      FROM vehicles) AS x
SET v.id = v.id + x.maxid

UPDATE
语句与
JOIN一起使用

UPDATE vehicles as v
JOIN (SELECT MAX(id) AS maxid
      FROM vehicles) AS x
SET v.id = v.id + x.maxid

OP状态:“在id 1001=车辆1 id 1002=车辆2 id 1003=车辆3之后”。您有“在运行查询后:id | car-:|:-----5 | car 1 6 | car 2 7 | car 3 8 | car 4”。除非我不明白他们在问什么。@FunkFortyNiner:他们想给每个
id
加上
id
的最大值。他们在表中有1000条记录,而在我的示例中有4条,因此每个记录中都添加了
4
,而不是
1000
。请注意,我误解了他们的帖子。我不清楚他们发布
100
s后跟id号的方式。@FunkFortyNiner:没有pb:)哦,理论上,你的车快了15秒:DOP说:“在id 1001=车1 id 1002=车2 id 1003=车3之后”。您有“在运行查询后:id | car-:|:-----5 | car 1 6 | car 2 7 | car 3 8 | car 4”。除非我不明白他们在问什么。@FunkFortyNiner:他们想给每个
id
加上
id
的最大值。他们在表中有1000条记录,而在我的示例中有4条,因此每个记录中都添加了
4
,而不是
1000
。请注意,我误解了他们的帖子。我不清楚他们发布
100
s后跟id号的方式。@FunkFortyNiner:没有pb:)哦,理论上,你的要快15秒:DSo你想把
100
附加到id上,这就是你要问的吗?不,1000行只是一个例子,它可以是任何数字,“any”数字必须是新增量开始的数字。好吧,我误解了这个问题。你发布的内容我不清楚。下面是两个答案。所以你想在id后面加上
100
,这就是你要问的吗?不,1000行只是一个例子,它可以是任何数字,“any”数字必须是新增量的开始数字。好吧,我误解了这个问题。你发布的内容我不清楚。下面有两个答案。