對於一個消息傳送系統,我試圖標記爲僱員適當to_del和from_del字段2.合併兩個查詢到一個在同一個表(相同列/不同行)
下面是前僱員2刪除消息:
company_id | to | from | to_del | from_del
1 4 2 0 0
1 2 4 0 0
這裏是工作人員2刪除郵件後:
company_id | to | from | to_del | from_del
1 4 2 0 1
1 2 4 1 0
我要運行2個查詢這個工作:
UPDATE messages SET from_del='1' WHERE company_id=1 AND from=2
UPDATE messages SET to_del='1' WHERE company_id=1 AND to=2
有沒有辦法將這兩個查詢合併爲一個更高效的查詢?例如:
UPDATE messages SET from_del='1',to_del='1' WHERE company_id=1 AND (from=2 OR to=2)
這個單個查詢的問題是,它將所有4個刪除字段標記爲'1'。關於如何獲得一個高效的查詢來處理上述2個查詢的任何想法?
感謝您的輸入,但你是什麼意思「你更新不列需要這樣''? – Maverick 2012-02-02 16:49:01
這意味着如果你只需要更新'from_del',你也會更新'to_del',不管你喜不喜歡,如果它不符合你的條件,你更新它爲相同的值,但你仍然更新它。 – Ben 2012-02-02 16:56:26
是從其他from_del和其他to_del?你認爲運行上面的兩個查詢或使用case部分更有效嗎? – Maverick 2012-02-02 17:04:03