2016-10-25 26 views
0

我想CTBan_Log設置adminidsb_admins援助(管理員ID),但僅限於steamid值相匹配的AUTHID的排INNER JOIN但不能編輯行

UPDATE CTBan_Log ct 
    INNER JOIN sb_admins s ON 
       ct.adminid = s.aid 
    INNER JOIN sb_admins st ON 
       ct.admin_steamid = st.authid 
SET adminid=s.aid WHERE admin_steamid=st.authid 

這個執行但不編輯任何行。我究竟做錯了什麼?

+0

戈登在答覆中指出,遠的不說,他說的話,但它不會出現,你需要的別名,自連接,因爲你沒有標準或OP描述爲什麼你需要這樣的事情。 – Drew

+0

被引用的dupe close可能會引入更多表,但它是一個規範引用。相應使用。 – Drew

+0

真的看起來不應該改變任何東西。具體而言,第一個連接條件確保SET將有效地成爲「不操作」。 – Uueerdo

回答

0

你的描述建議這樣的邏輯:

UPDATE CTBan_Log ct INNER JOIN 
     sb_admins s 
     ON ct.adminid = s.aid AND 
      ct.admin_steamid = st.authid 
    SET ct.adminid = s.aid ; 
+0

謝謝,但它仍然不會編輯任何行 – Joram

+0

@Joram。 。 。然後,「連接」條件不匹配任何行,或者「adminid」實際上不會更改值。 –