Java-更改数据库表数据的时候有什么要注意的。

Java-更改数据库表数据的时候有什么要注意的。

虐人心 发布于 2017-06-25 字数 221 浏览 1110 回复 3

比如说某资源分配系统,成功申请资源会改变资源状态,需要更新数据库表数据,我的想法是使用

update resouce set status = 'inuse' where id='20121212145851' and status != 'inuse'

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

偏爱自由 2017-09-26 3 楼

不明白什么意思,一开始说,操作成功会改变数据库数据状态,后来又说“通过获取update语句的受影响行数,来决定操作是否成功”,到底是“成功决定状态”还是“状态决定成功”呀。。。。不过我要说的是,数据库是存储数据的地方,它的任务就是保管好数据,和成功不成功没啥联系,成功与否的逻辑是独立存在而且可以修改扩展的,你的逻辑没有解耦。

清晨说ぺ晚安 2017-07-04 2 楼

我就经常这样。。。
也可以先判断是否有可以修改的数据再执行此修改操作。否则,没满足条件的也会update一下,似乎不太好。

偏爱自由 2017-07-04 1 楼

这个操作是没有问题。但是判断成功是影响行数>0即可,还是需要等于已知的没有资源数,所以更多的需要你的业务来决定。
如果是第二种情况,则需要先查出来可修改的数目,此数目是否符合业务要求,在更新。这个过程需要是一个事务。
最后id字段要有索引。