2012-12-07 47 views
1

我有這樣的一個表: Tb_server如何從其他表遞增的表值和最大ID

ID 
5 
6 
7 

Tb_upload

ID 
1 
2 
3 

我需要一個查詢可更新的所有ID Tb_server到max(Tb_upload.ID) + 1 所以,關於Tb_server的結果應該是這樣的

Tb_server 
ID 
4 
5 
6 

我在shell腳本中這樣做,所以我可以將max(Tb_upload.ID)作爲變量。 但是,將使用MySQL的查詢是什麼?

回答

0

試試這個:

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

以Tb_upload的MAX + 1是:4

進行更新爲:

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

起始ID是1(用於Tb_upload)和4(對於Tb_server)。我無法理解你的答覆 – syncdm2012

+0

你想要Tb_serverID增加1作爲你的例子吧? –

+0

忽略上面的註釋。我想讓Tb_server ID成爲最大(Tb_uploadID)+1。如果我在Tb_server中有7,8,9,它應該變成4,5,6。基本上所有的Id都會在Tb_upload ID後序列化。 – syncdm2012

相關問題