0
我有一些頁面水印使用了封閉表。我希望能夠刪除一個頁面並更新它離開的子級別。基於表012子查詢的更新表
par child level
1 1 0
1 2 1
2 2 0
1 3 2
2 3 1
3 3 0
1 4 3
2 4 2
3 4 1
4 4 0
之前刪除第3頁我試圖更新的水平,然後delete一個reocrds 3頁這種幸福的目標:
par child level
1 1 0
1 2 1
2 2 0
1 4 2
2 4 1
4 4 0
描述這個用(無效)suquery像這樣:
UPDATE tbl_page_structures
SET page_level = page_level - 1
WHERE
child IN (SELECT child FROM tbl_page_structures WHERE par = 3)
AND page_level != 0;
DELETE ... where par=3 or child=3;
明顯失敗的更新。
理想的情況下想在一個查詢完成,但如果TMP能的路要走,那就這樣吧 - 這個是甜的甜度SQL更重要的服務表現...
「目前,您無法更新表並從子查詢中的同一表中進行選擇。」資料來源:http://dev.mysql.com/doc/refman/5.5/en/update.html –
是的,但您可以從子查詢中的同一個表中進行選擇。 – Johan