码迷,mamicode.com
首页 > 数据库 > 详细

Mysql Mybatis 使用相关知识

时间:2021-06-02 11:37:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:content   tor   bit   data   blog   表名   tno   解决办法   you   

You can‘t specify target table ‘表名‘ for update in FROM clause (来源

翻译为:不能先select出同一表中的某些值,再update这个表(在同一语句中)
解决办法:将SELECT出的结果再通过中间表SELECT一遍

UPDATE result 
SET StudentResult=StudentResult+5
WHERE StudentResult in (  
  (SELECT  res.StudentResult
  FROM student stu JOIN result res on res.StudentNo=res.StudentNo 
  where res.StudentResult=53 and stu.GradeId=(SELECT GradeId FROM grade WHERE GradeName=‘大一‘)
  )
)

需要改为

UPDATE result 
SET StudentResult=StudentResult+5
WHERE StudentResult in (  
  SELECT a.StudentResult from
  (SELECT  res.StudentResult
  FROM student stu JOIN result res on res.StudentNo=res.StudentNo 
  where res.StudentResult=53 and stu.GradeId=(SELECT GradeId FROM grade WHERE GradeName=‘大一‘)
  ) AS a
)

mysql 类型为 bit 时的操作

UPDATE `xxx` SET `xxx`=b‘0‘ WHERE `id`=1;

mybatis异常:The content of elements must consist of well-formed character data or markup的解决方法 (来源

不是格式良好的xml,也就是我们的书写格式有误,常见的就是 < 符号 需要转义

select * from t where time > #{endTime} <![CDATA[ and time < #{startTime} ]]>

mybatisplus 使用 script 解析list

@Select({
        "<script>",
        "update xx set vv= #{vv} where id in " ,
        "<foreach collection=‘idList‘ item=‘data‘ open=‘(‘ separator=‘,‘ close=‘)‘>",
        "#{data}" ,
        "</foreach>" ,
        " and cc<![CDATA[ <> #{cc} ]]>",
        "</script>"})

Mysql Mybatis 使用相关知识

标签:content   tor   bit   data   blog   表名   tno   解决办法   you   

原文地址:https://www.cnblogs.com/cuiyf/p/14813867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!