[SQL ] UPDATE中的子查詢

看板Database作者 (LaPass)時間12年前 (2013/03/11 10:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
資料庫是用MySQL 5.5.27 TABLE link_map L_id L_deep parent chiled cut flag SQL: UPDATE link_map SET cut=1,flag=1 WHERE L_deep=1 AND parent IN (SELECT p.chiled FROM link_map p WHERE p.L_deep=0 AND p.cut=1 AND p.flag=1 ) 錯誤訊息: #1093 - You can't specify target table 'link_map' for update in FROM clause 問題: 他說不能在同個SQL中去做選擇、UPDATE的動作 那如果要做同樣的動作,SQL該怎麼下? ===== 找到了 最後改成這樣 UPDATE link_map AS c INNER JOIN link_map AS p ON p.chiled=c.parent SET c.cut=1,c.flag=1 WHERE p.L_deep=1 AND p.cut=1 AND p.flag=1 http://stackoverflow.com/questions/45494 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.126.106 ※ 編輯: LaPass 來自: 111.252.126.106 (03/11 11:19)
文章代碼(AID): #1HFJogpt (Database)