2014-09-28 59 views
0

我尝试使用以下错误1093:查询的地方在UPDATE和SET

UPDATE timeline SET c_flag=(HOUR(TIMEDIFF('2014-09-29 7:00:00',(SELECT reference_log FROM timeline WHERE venture_id=33))) >= 48) WHERE venture_id=33; 

更新我的表,但我因此得到

ERROR 1093 : You can't specify target table 'timeline' for update in FROM clause 

什么是适当的查询相同的值为了这?这里不需要

+1

你真的需要一个子查询? – 2014-09-28 07:28:36

+0

是的,我认为是这样,因为我正在处理同一行和同一个表上的值。 – 2014-09-28 08:30:14

回答

1

子查询,只是试试这个:

UPDATE timeline 
SET c_flag = (HOUR(TIMEDIFF('2014-09-29 7:00:00', reference_log)) >= 48) 
WHERE venture_id=33;