chubei5417 2015-03-13 04:12 采纳率: 0%
浏览 9078

mybatis 执行 INSERT … ON DUPLICATE KEY UPDATE

mybatis 在执行 INSERT … ON DUPLICATE KEY UPDATE 格式的语句的时候
没有报错,库表也没插入数据,数据库是mysql
用mysql客户端执行这条语句的时候却是能插入的
是因为myBatis不支持吗?
语句示例:
INSERT INTO test
(main_id,score,totalCount)
VALUES
(123,5.0,12345)
ON DUPLICATE KEY UPDATE
score=VALUES(score),
totalCount=VALUES(totalCount)
main_id是主键,以上语在mysql客户端执行能正确插入或更新

<insert id="insertOrUpdate" parameterType="这里就不写了">
    INSERT INTO test
    (main_id,score,totalCount)
    VALUES
    (456,5.0,12345) <!--这里有个参数是456,同上面一条的123不一样-->
    ON DUPLICATE KEY UPDATE
    score=VALUES(score),
    totalCount=VALUES(totalCount)
</insert>

这是mybatis里面执行的语句,为了直观些,我直接写了一条死语句进来。
同样的两条语句,在mybatis里面执行的时候也不报错,但是数据库却插不进去,也不能更新

求解!

  • 写回答

2条回答 默认 最新

  • 不是程序员222 2015-10-23 07:20
    关注

    没有调用commit()吧。。。
    session.commit();

    评论

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试