UPDATE的表不能在子查询里面,一般的方法是用两个语句,先把子查询的结果保存到临时表里面,然后关联临时表进行修改。不过,你这个语句好像可以下面这样吧:update shop_order set status=20 where unix_timestamp()-add_time>60*60*24*30;