如何使用另一个表中的最大ID增加表值

时间:2012-12-07 08:43:54

标签: mysql shell

我有这样一张桌子: Tb_server

ID 
5 
6 
7

Tb_upload

ID 
1 
2 
3 

我需要一个可以将Tb_server的所有ID更新为max(Tb_upload.ID) + 1的查询 所以,Tb_server上的结果应该是这样的

Tb_server   
ID   
4   
5   
6

我在shell脚本中这样做,所以我可以将max(Tb_upload.ID)作为变量。 但是使用MySQL的查询是什么?

2 个答案:

答案 0 :(得分:0)

取Tb_upload的最大+ 1,即:4

将更新更新为:

update Tb_server  set Tb_serverID= (Tb_serverID+4);    // 4 is the difference here

答案 1 :(得分:0)

试试这个:

UPDATE Tb_server, (SELECT @auto:=0) a 
SET ID = (SELECT MAX(ID) FROM Tb_upload) + (@auto:= @auto+1);