2014-07-25 83 views
1

我見過類似的問題,但不完全是我想要做的,我似乎無法弄清楚確切的語法。插入MAX + 1與選擇,但插入其他值以及

英語,我需要做到以下幾點:

Column0 = id(primary auto-increment) 
    Column1 = interface 
    Column2 = subinterface 
    Column3 = vlan 

我想找到的子接口列,其中interface = XYZ的MAX + 1的值。所以如果這個接口'xyz'已經有5個子接口,查詢會插入#6。同時,我想向此行添加更多數據,例如此子接口將使用的VLAN編號(第3列)。我目前使用兩個查詢,一個 「SELECT MAX(subinterface)+1 WHERE interface = '某某'」,然後我採取這一價值,做一個INSERT + VALUES插入行/ newsubint/newvlan

我想完全做一個事務,只用一個INSERT,可以一次完成這一切。我已經看到了這個代碼中引用很多次,但我不知道怎樣才能添加其他值:

INSERT INTO TABLE1 (Column1) 
SELECT MAX(Column1) 
FROM Table1 

所以我的真正的問題是我怎麼做一個INSERT/SELECT仍然插入附加值,唐」來自其他桌子。

謝謝。

回答

0

通過增加與其他值查詢

INSERT INTO TABLE1 (Column1, Column2) 
SELECT MAX(Column1) + 1, 'some other value' 
FROM Table1 
+0

這是一個比我更容易的方式,雖然 - 我一直試圖在SELECT後添加VALUES語句。謝謝! – jaredn3

+0

這對MySQL服務器不起作用,它不允許在INSERT和嵌套SELECT子查詢中使用同一個表! – sbrbot