select count(1) as count from t_parcel where t_user_id = '276' and t_present_id = '1' and t_type = '2'
在多次连续查询数据表的条数时,有时会查询返回 0 ,求教下为什么会出现这种情况。
背景:
![]() |
1
thetbw 178 天前
加个事务试试,或者 select for update
|
![]() |
3
shanghai1943 178 天前
实在不行就试着不要在 sql 里 count(),而是先把明细数据通过 select * 都查出来,然后自己 count 看看有多少数据,这样就可以知道哪些数据多查出来了。多对比几次,应该就能知道原因了。
|
![]() |
4
MoYi123 178 天前
Mysql 版本 4.7.28? 这是什么远古版本吗? 还是 mysql 有其他的版本号?
|
5
thinkershare 178 天前
这么古老的 MySQL 是个啥鬼? MyISAM 这种存储引擎吗?
|
![]() |
6
zoharSoul 178 天前
mysql 还有这个版本的吗?
|
![]() |
7
SmartKeyerror 178 天前
Google 了一下,4.7 版本应该是在 2005 年左右 GA ,既感叹这古老的版本,又感叹这项目在不升级底层存储的情况下竟然能跑 16 年
|
![]() |
8
ksedz 178 天前
5.7.28 ?
|
9
leafre 178 天前
Mysql 版本 4.7.28 ?
|
10
hzjiyu 178 天前
@SmartKeyerror 应该是 5.7.28 。能看到的 MySQL 5.1 最低了,项目寿命十年成考古了。我认为不存在有 4.7.28 这种。你 Google 能 Google 到这个版本 tag ?
|
![]() |
11
fanshaohua 177 天前
我也怀疑是 transaction ,并且数据本身同时被修改的问题
没可能数据库会直接返回一个错误的 count. |
12
shyangs 177 天前
|
![]() |
13
siweipancc 177 天前 via iPhone
试试看计算主键,要是统计 bug 就好玩了
|
![]() |
14
SmartKeyerror 177 天前
@hzjiyu 这我还真没注意
|