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 2021-12-30 14:50:52 +08:00
加个事务试试,或者 select for update
|
3
shanghai1943 2021-12-30 15:19:35 +08:00
实在不行就试着不要在 sql 里 count(),而是先把明细数据通过 select * 都查出来,然后自己 count 看看有多少数据,这样就可以知道哪些数据多查出来了。多对比几次,应该就能知道原因了。
|
4
MoYi123 2021-12-30 17:23:28 +08:00
Mysql 版本 4.7.28? 这是什么远古版本吗? 还是 mysql 有其他的版本号?
|
5
thinkershare 2021-12-30 18:12:49 +08:00
这么古老的 MySQL 是个啥鬼? MyISAM 这种存储引擎吗?
|
6
zoharSoul 2021-12-30 19:41:59 +08:00
mysql 还有这个版本的吗?
|
7
SmartKeyerror 2021-12-30 20:11:39 +08:00
Google 了一下,4.7 版本应该是在 2005 年左右 GA ,既感叹这古老的版本,又感叹这项目在不升级底层存储的情况下竟然能跑 16 年
|
8
ksedz 2021-12-30 20:46:53 +08:00
5.7.28 ?
|
9
leafre 2021-12-30 21:02:12 +08:00
Mysql 版本 4.7.28 ?
|
10
hzjiyu 2021-12-30 21:08:29 +08:00
@SmartKeyerror 应该是 5.7.28 。能看到的 MySQL 5.1 最低了,项目寿命十年成考古了。我认为不存在有 4.7.28 这种。你 Google 能 Google 到这个版本 tag ?
|
11
fanshaohua 2021-12-30 23:20:12 +08:00
我也怀疑是 transaction ,并且数据本身同时被修改的问题
没可能数据库会直接返回一个错误的 count. |
12
shyangs 2021-12-30 23:32:45 +08:00
|
13
siweipancc 2021-12-31 09:18:34 +08:00 via iPhone
试试看计算主键,要是统计 bug 就好玩了
|
14
SmartKeyerror 2021-12-31 11:16:41 +08:00
@hzjiyu 这我还真没注意
|