问一个关于mysql更新的问题

rumlee 2008-07-15 04:08:58
我有个表假设名称为table1
有五个字段,分别假设为 id,c1,c2,c3,c4
除了id字段为int类型外,其它4个都是decimal(13,4)的,
我现在有一个更新语句,老是出问题,语句是这样的 update table1 set c4=sqrt(c1*c1+c2*c2+c3*c3);
这条语句肯定是没有语法错误的,我用jdbc连接执行的时候也不报错,可是计算的结果却是表里面的一部分数据计算了,而一部分却没有计算,搞了好久了,就是搞不懂这是为什么,(我的表里面的数据比较多,一般都有一二十万笔数据以上)。

谢谢了。请大家帮帮我吧。
...全文
103 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
rumlee 2008-08-04
  • 打赏
  • 举报
回复
这个问题,我最终是一行一行的更新才解决的,一次性更新那么多记录就是不行,具体为什么,我到现在还是不明白。
rumlee 2008-07-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 chenguodon 的回复:]
还有一种可能是超出了decimal数据范围
[/Quote]

这种可能我也想到过,可是如果是这种情况的话,那也不应该第一次计算不行,重新计算又可能行了啊。
chenguodon 2008-07-18
  • 打赏
  • 举报
回复
还有一种可能是超出了decimal数据范围
chenguodon 2008-07-18
  • 打赏
  • 举报
回复
还有一种可能是超出了decimal数据范围
java_303 2008-07-15
  • 打赏
  • 举报
回复
用一个MYSQL图形界面工具把!
mschen 2008-07-15
  • 打赏
  • 举报
回复
--这样测试一下吧!

--获取表的所以记录行数

select count(*) from table1;

--影响的记录行数

update table1 set c4=sqrt(c1*c1+c2*c2+c3*c3);

看看实际影响的记录行数是否匹配总记录行数.
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
表没有被破坏吗?修复一下试试
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
导出数据吧,10条左右就可以了,用MYSQL DUMP OR 用MYSQL管理工具导。
rumlee 2008-07-15
  • 打赏
  • 举报
回复
在程序中也试了,没有用事务,在命令提示符下用mysql命令也试了,都一样效果。
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
没有用事务吧?在MYSQL中直接运行还是在程序中?
rumlee 2008-07-15
  • 打赏
  • 举报
回复
没有触发器、约束也只有id是主键约束,关系根本没有,而且这些也应该不会影响到这个更新吧,而且我感觉这一条sql语句更新应该是成功就都成功,失败就都失败吧,总不能部分成功,部分失败啊。
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
既然SQL语句没有问题,记录也没有问题,问题在哪里?
触发器、约束、关系?
rumlee 2008-07-15
  • 打赏
  • 举报
回复
问题不是出在记录本身,比如我看某一笔数据没有计算,我如果专门的针对这条记录进行计算却又可以,

例如我看到id为123的记录没有计算,我直接
update table1 set c4=sqrt(c1*c1+c2*c2+c3*c3) where id=123;
这样执行一点问题都没有,很正常啊。
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
导数据啊,存成TXT格式,只要有问题的记录,大约10条左右就可以了
rumlee 2008-07-15
  • 打赏
  • 举报
回复
关键我一般都有几十万表记录,哪能贴的出来啊。
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
没有看到记录,无法测试、判断
rumlee 2008-07-15
  • 打赏
  • 举报
回复
没有NULL值的,
我如果重复的执行下面这条语句,一般执行个四到五次差不多能够保证全部执行。
update table1 set c4=sqrt(c1*c1+c2*c2+c3*c3) where c4 is null;
我想了很久就是搞不懂是为什么?
WWWWA 2008-07-15
  • 打赏
  • 举报
回复
可是计算的结果却是表里面的一部分数据计算了,而一部分却没有计算
将计算与否的记录贴出来看看,是否有NULL值

56,683

社区成员

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

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