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

chinahero 04-08-10

表结构为
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个小时

不知道我有没有表述清楚

fencer
2004-08-11 10:25

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

chinahero
2004-08-11 14:00

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