update table set num = (select num+1 from table where id=1) where id=1
運行以上SQL語句,返回錯誤信息:“You can’t specify target table ‘表名’ for update in FROM clause”
意思是在同一語句中不能先select出同一表中的某些值,再update這個表
解決方式:
在select的結果後加一層中間過渡
update table set num = (
select * from (select num+1 from table where id=1) t
) where id=1