0
我有這個表:如何使用更新並選擇同一個表格? MySQL的
`id` `activity_time`
1 0000-00-00 00:00:00
2 2015-06-1 12:12:12
3 0000-00-00 00:00:00
4 0000-00-00 00:00:00
5 2015-06-2 13:13:13
我想更新日期「0000-00-00 00:00:00」的每一行,並將其設置爲第一個下一個非「0000-00-00 00 :00:00「行。
因此ID#1將被設置爲2015-06-1 12:12:12
。
和#3,#4將被設置爲2015-06-2 13:13:13
。
我試圖運行此查詢:
UPDATE
table1
SET activity_time =
(
SELECT activity_time FROM table1 as t2
where
t2.activity_time != '0000-00-00 00:00:00'
AND
t2.id > table1.id
ORDER BY Id ASC
limit 1
)
WHERE activity_time = '0000-00-00 00:00:00'
但我去這個錯誤:
You can't specify target table 'table1' for update in FROM clause.
像往常一樣,很好的答案(在倒數第二行殺死半c) – Drew