对于更新数据,update tableName set columnName = ... where columnName2 in(select ....)
如果后面查询和更新的表是同一个表,mysql中是不允许的。
注意:
不能先select出同一表中的某些值,再update这个表(在同一语句中)
解决办法就是:那么建立个临时的表create tempTable as select columnName2 from tableName
updatae tableName set columnName = strSql where columnName2 in (select columnName2 from tempTable)