超离奇的事件,大家给点意见

lonelyfatboy 2005-10-20 09:29:39
在我的mysql数据库里面有几条记录(只有几条会这样),打开来看明明就是数字:0,但是用select * from table where no=0 时就是找不到这几条记录,但是用select * from table where no>=0或者select * from table where no<>0的时候都能找到!!!!
...全文
157 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
trainee 2005-10-22
  • 打赏
  • 举报
回复
你的NO是INT还是FLOAT,DECIMAL?
loveflea 2005-10-21
  • 打赏
  • 举报
回复
float类型不是精确计算的,而是近似值!

mysql> select @@version,1/3+1/3+1/3,1/3+1/3+1/3=0.999999999;
+--------------+-------------+-------------------------+
| @@version | 1/3+1/3+1/3 | 1/3+1/3+1/3=0.999999999 |
+--------------+-------------+-------------------------+
| 5.0.13-rc-nt | 1.0000 | 1 |
+--------------+-------------+-------------------------+
1 row in set (0.01 sec)

mysql> select @@version,1/3+1/3+1/3,1/3+1/3+1/3=1;
+--------------+-------------+---------------+
| @@version | 1/3+1/3+1/3 | 1/3+1/3+1/3=1 |
+--------------+-------------+---------------+
| 5.0.13-rc-nt | 1.0000 | 0 |
+--------------+-------------+---------------+
1 row in set (0.00 sec)

mysql> select @@version,1/3+1/3+1/3,1/3+1/3+1/3=1;
+-----------+-------------+---------------+
| @@VERSION | 1/3+1/3+1/3 | 1/3+1/3+1/3=1 |
+-----------+-------------+---------------+
| 4.0.17-nt | 1.00 | 1 |
+-----------+-------------+---------------+
1 row in set (0.16 sec)
shuixin13 2005-10-21
  • 打赏
  • 举报
回复
该列是浮点型的吧!!
mathematician 2005-10-21
  • 打赏
  • 举报
回复
把那几条数据重新写一下,看看能不能查的到。
lonelyfatboy 2005-10-21
  • 打赏
  • 举报
回复
应该不是表结构的问题,现在是只有几条记录有问题而已!
hy2003fly 2005-10-21
  • 打赏
  • 举报
回复
可不可以让我看看你的表结构?
lonelyfatboy 2005-10-21
  • 打赏
  • 举报
回复
顶一下!
lonelyfatboy 2005-10-21
  • 打赏
  • 举报
回复
今天,又研究了一下,我怀疑是mysql 5.0的问题,如果我执行select no from table where no=0 ,就能全部显示!如果select *from table where no=0 就是会少了那几条数据的!
lonelyfatboy 2005-10-20
  • 打赏
  • 举报
回复
补充一句:用select form table where no=0,就是找不到其中几条而已,大部分还是能到的!

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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