写这篇的原因:
- 因用户填写这个字段内容的数据量超大,字段为MEDIUMTEXT时,直接复制过去已经存不下这些内容,所以想法是:使用下面代码去实现
UPDATE A SET text = ( SELECT text FROM A WHERE id = ? ) where id=?
结果报错:
You can‘t specify target table for update in FROM clause
因为不能在同一张表中即查询又修改
所以解决方案如下:
- 新建一张临时表B,B中包含id,text
- 利用如下sql(我这里数据只有四条。先把B表中的id写了1234,然后直接用下面的sql的)
- UPDATE B SET text = ( SELECT text FROM A WHERE id = A.id ) where id = B.id
- 然后再将B表的数据Update到A表想要应用的地方
- UPDATE A SET text = ( SELECT text FROM B WHERE id = B.id ) where id = A.id

被折叠的 条评论
为什么被折叠?



