我有這樣的一個表:更新數據設定特定日期的最低計時活動
表:activity
Date Time task_name type
10-02-2014 07:00 Reporting Scheduled
10-02-2014 1200 mailing Failed
10-02-2014 16:00 Checking Scheduled
11-02-2014 10:00 DDDD Done
我想更新從Scheduled
命名type
到Done
特定列那天的時間最少的日期。 下面有查詢:
UPDATE activity
SET type = "Done"
WHERE
type = "Scheduled"
AND Date = "10-02-2014"
AND time = (SELECT MAX(time) FROM activity WHERE Date = '10-02-2014');
但它拋出一個錯誤:
ERROR 1093 (HY000): You can't specify target table 'activity' for update in FROM clause
你使用哪種RDBMS? – hkutluay
請注意,MySQL中的日期應該使用DATE數據類型 - 否則,爲什麼要麻煩。 – Strawberry