最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Youcan'tspecifytargettableforupdateinFR

来源:动视网 责编:小采 时间:2020-11-09 19:56:48
文档

Youcan'tspecifytargettableforupdateinFR

Youcan'tspecifytargettableforupdateinFR:今天执行一个mysql语句的时候,出现错误提示:You can't specify target table for update in FROM clause mysql 语句如下; UPDATE school_more_info SET comments = replace( comments, '。', ' )
推荐度:
导读Youcan'tspecifytargettableforupdateinFR:今天执行一个mysql语句的时候,出现错误提示:You can't specify target table for update in FROM clause mysql 语句如下; UPDATE school_more_info SET comments = replace( comments, '。', ' )


今天执行一个mysql语句的时候,出现错误提示:You can't specify target table for update in FROM clause
mysql 语句如下;

UPDATE school_more_info SET comments = replace( comments, '???', "'" ) WHERE school_id IN (SELECT school_id FROM school_more_info WHERE comments LIKE '%???%')


这个sql的意思是将comments字段中的�替换更新成‘, 更新的条件是只有含有�的行才更新,没有�的行则不更新。咋一看,应该没有错啊,我们经常这么写。最后查资料,mysql中不能这么用,那串英文错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。

改写后的sql,这样是可以正确执行的。如下:

UPDATE school_more_info SET comments = replace( comments, '???', "'" ) WHERE school_id IN (SELECT school_id FROM (SELECT *FROM school_more_info WHERE comments LIKE '%???%') AS a)

文档

Youcan'tspecifytargettableforupdateinFR

Youcan'tspecifytargettableforupdateinFR:今天执行一个mysql语句的时候,出现错误提示:You can't specify target table for update in FROM clause mysql 语句如下; UPDATE school_more_info SET comments = replace( comments, '。', ' )
推荐度:
标签: 解决 update tr
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top