我有一个Web应用程序,其中数据可以由用户同时更改.目前,我在每个表单中包含旧行值,并且仅在数据相同时才更新行.使用sqlite这是唯一的选择.这很难看,如果能提供更好的方法,我会考虑切换到另一个sql数据库. Postgresql或MySQL是否有隐含的行时间戳或版本号,而人们可以使用它们?
解决方法:
使用数字计数器比使用时间戳更好.无论时间戳如何精确,都可以同时提交两个版本的数据并获得相同的时间戳.通过使用数字计数器(例如,更新mytable set counter = counter 1,data = ?,其中id =?并且counter =?),每次更改行时,它将获得唯一的计数器值. (在where子句中提供原始计数器值,如果数据已由其他人更改,则不会匹配任何行.)
虽然这不是一个“隐含”的解决方案,但我认为没关系.像Hibernate这样的库可以让你自动完成这类工作,所以你的代码不必担心它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。