为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我写Sql语句的时候还要带上库名?不能直接使用表名比如UPDATE seckill

<update id="reduceNumer">
   UPDATE seckill.seckill     //如果不带库名,提示unable to resolve
   SET number = number -1
   WHERE seckill_id = #{seckillId}
   AND start_time <![CDATA[ <= ]]> #{killTime}
   AND number >0
</update>

http://img1.sycdn.imooc.com//596f129f0001545308380156.jpg

user这个表是其他库的,在Mybatis中能直接用后面带(),

这个课程中创建的库,在Mybatis中就必须要用库名seckill,操作的时候也就是必须库名加表名seckill.seckill

难道是只有一个数据库的时候的时候不需要表名?现在两个库了,第二个库必须加库名(虽然我也觉得要加)

正在回答

4 回答

我新建了一个只有这一个表的用户,就没问题了,问题是等我在用其他用户的时候,看起来也是没问题的

这有可能是intellij的一个bug

0 回复 有任何疑惑可以回复我~

测试倒是跑通的,就是感觉怪怪的,智能提示告诉我必须带库名

0 回复 有任何疑惑可以回复我~

应该不需要带数据库名啊

0 回复 有任何疑惑可以回复我~

你是不是url里面没有写数据库名字啊?

0 回复 有任何疑惑可以回复我~
#1

未卜先知 提问者

url里面是带了数据库库名的,我写的其他项目都不用带库名的,目前就这个是这样 而且resultType="com.leibus.seckill.entity.Seckill" 也要写全,不然找不到 估计是某个注解没生效?现在还没想明白
2017-07-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我写Sql语句的时候还要带上库名?不能直接使用表名比如UPDATE seckill

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信