发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

问一个很困惑的问题,数据库方面的

2004-08-10 19:55
赞助商链接

表结构为
id posttime(int datetime)
有一个需求为,posttime最小的时差为1.5天,也就是说如果表中存在
1,2004-08-11 20:00 的这条数据,那么只有比2004-08-11 20:00 少36个小时或多36个小时的数据存在,1。这个是不是没办法通过数据库定义来实现这个需求,只能通过写代码的时候做insert的之前的时候来做判断的
2。如果只能通过应用层来判断的话,是不是存在脏数据的问题
例:线程A判断了通过,然后进行insert了,还没有commit,这时操作系统把权限给了线程B,这里线程A的对数据库的操作线程B是不可见的(隔离性),这时线程B判断也通过了,也来insert了,是不是就存在A,B线程插入了相同的数据的问题

表中的数据应该这样
id posttime
1 2004-08-11 20:00
2 2004-08-10 8:00
3 2004-08-13 20:00 即任意两个时间之差大于36个小时

不知道我有没有表述清楚

2004-08-11 10:25

的却需要在应用中作“筛选”,而且也存在着同步问题。

2004-08-11 14:00

有没有好一点的解决办法?

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com