早上好,我試圖在遍歷樹中上下移動節點,但問題是,如果我有移動節點的查詢,它會在sql語法中引發錯誤,請問,你有什麼想法,問題在哪裏?Mysql查詢是否語句,更新錯誤
UPDATE categories
SET lft = IF(lft >= 17 AND rgt <= 18, lft + 1, IF(lft >= 15 AND rgt <= 16, lft - 1)),
rgt = IF(lft >= 17 AND rgt <= 18, rgt + 1, IF(lft >= 15 AND rgt <= 16, rgt - 1))
WHERE (rgt <= 18 AND lft >= 15)
謝謝你的答案和解決方案!
編輯: 謝謝你的幫助,它的工作原理除了一個問題 - 第二個條件。它沒有用正確的值做任何事情: 父rgt仍然是相同的,移動元素的rgt設置爲0. 哪裏可能會出現問題? 所以問題解決了。我的faul。我正在比較編輯過的值,以至於錯了。
@JanKožušník將'else_stmt_expre'替換爲0 –