2014-02-23 32 views
0

在MySql中,如何使用其父ID更新同一個表中的數據行?MySql使用同一個表的數據更新一行使用它的父ID

在下面的示例中,我試圖更新路徑id = 2,路徑爲id = 1(因爲這是父級),並且名稱的值爲id = 2

我想要是無可救藥的錯誤:

update paths a 
set path = (concat(select path from paths where id = parent,name)) 
where id = 2; 

當前

"id" "parent" "path"   "name" 
"1"  "0"   "/us/software/" "microsoft" 
"2"  "1"       "adobe" 

預計

"id" "parent" "path"     "name" 
"1"  "0"   "/us/software/"   "microsoft" 
"2"  "1"   "/us/software/adobe" "adobe" 

走路徑的值從它的父

+0

您是否嘗試過分組的子查詢? 'UPDATE路徑SET path =(concat((從路徑中選擇路徑,其中id = parent),name))其中id = 2' – Jhn

回答

相關問題