asderfzxcd
2016-12-12 03:39
采纳率: 4.8%
浏览 5.7k
已采纳

java连接数据库做更新和删除操作时,要先判断id是否存在吗

1.连接数据库做更新和删除,若id不存在,sql语句不会报错,程序也不会报错,要先判断id是否存在吗?
2.单条sql可以通过受影响的行数等于1判断是否成功,那多条呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • HarleyZhuge 2016-12-12 07:00
    已采纳

    以下为个人拙见,仅供参考:
    1.一般是不需要的。大多数的一个业务情况都是这样的:前台页面显示数据库的记录集,然后通过传递ID给后台进行数据的操作。
    既然你前台能显示数据,那还有必要判断ID的存在吗?(排除人为恶意篡改)
    2.承接第一条,既然ID没必要判断存在,你连判断影响行数都是没必要的,肯定会受影响。你只需做好操作,最后反馈一个信息就行。
    前提是数据量比较少的情况,如果是海量数据的话,还有可能会出现锁的原因等。
    所以多条数据你只要获取ID的集合,然后循环进行操作,反馈信息就行。

    打赏 评论
  • 墨笙弘一 2016-12-12 04:15

    应该在你要更新的记录的ID存在的情况下对这个记录进行更新或者删除,这个id主键就是你where条件,如果你不判断要删除的记录是否存在,你更新和删除的是哪条数据

    打赏 评论
  • 毕小宝 2016-12-12 04:42

    不需要啊,一般来说,删除操作一定是在一条记录后面的,肯定是已经存在的记录
    的呀。

    打赏 评论
  • niaonao 2016-12-12 05:10

    删除或更新不需要条件么where id = ‘’
    记录当然已经存在了,这里的id 不是判断记录存在与否的
    而是用来查询唯一对应的记录数据的
    这不是每次都需要么

    打赏 评论
  • Q544471255 2016-12-12 06:40

    其实一般是不用的,直接更新就行了,如果相关ID不存在的话,数据库一般是不会更新的
    (但是要注意,有的数据库操作中间件【Hibernate或者mybatis可以设置,如果ID不存在就新增】)。

    注意下就好了。

    打赏 评论
  • Evian_Tian 2016-12-12 07:17

    sql语句增加,删除,修改都会都会返回int型结果,更加返回结果来判断是否有执行成功

    打赏 评论
  • huaYan丶 2016-12-12 07:35

    有就删除 ,没有当然也不会报错 返回int值看是否成功删除

    打赏 评论

相关推荐 更多相似问题