查询数据丢失是什么原因造成的?

xlhl 2005-12-02 11:57:24
select * from tablename where date>'2005-10-1' and date<='2005-10-30'
第一次执行返回20条数据,
第二次执行返回21条数据,多出来的数据不是10.1,10.30日数据,而是在10.2日至10.29日之间的数据.
此后的查询都是21条数据.

这种现象偶尔出现一次

...全文
228 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlhl 2005-12-02
  • 打赏
  • 举报
回复
数据是按时间顺序进入数据库的,按理说出现问题的数据应该是当天的,可是却是前几天的:(
拓狼 2005-12-02
  • 打赏
  • 举报
回复
幻像读
当对某行执行插入或删除操作,而该行属于某个事务正在读取的行的范围时,会发生幻像读问题。事务第一次读的行范围显示出其中一行已不复存在于第二次读或后续读中,因为该行已被其它事务删除。同样,由于其它事务的插入操作,事务的第二次或后续读显示有一行已不存在于原始读中。

love16 2005-12-02
  • 打赏
  • 举报
回复
应该是多用户操作的结果,第一次执行后,有新的数据进去
浩方软件HFWMS 2005-12-02
  • 打赏
  • 举报
回复
这是正常现象。。。
多用户操作的结果。。。
注意一下并发操作就行

hlq8210 2005-12-02
  • 打赏
  • 举报
回复
这是正常现象。。。
多用户操作的结果。。。

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧