我想拉取狀態列未標記爲'已刪除'的所有行並且如果update_datetime列早於7天(MySQL版本2013-04-11 11:22:44),則狀態標記爲「已完成」。select * WHERE status <>'deleted'OR status <>'completed'AND update_datetime <unix_timestamp(now() - interval 7 day)
這裏是我的軟弱和失敗的嘗試:
WHERE
status <> 'deleted'
OR status <> 'completed'
AND update_datetime < unix_timestamp(now() - interval 7 day)
記住,括號是你的朋友。 – Crontab
我認爲從不使用括號的同一where子句中使用OR和AND,即使結果遵循操作順序,因爲一年後維護它的人不會知道你的意圖。 – HLGEM
當'update_datetime'值不超過7天時,'status'值應該是多少?任何或必然*不*完成''(只要它不是「刪除」,當然)? –