CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

我发现了Mysql的一个BUG大家注意

楼主julychina(九品代码工)2004-12-01 11:55:55 在 其他数据库开发 / MySQL/Postgresql 提问

update   requisition   set     layer=1   and   block=1   and   number='01'  
   
   
  无意中写了一个这样的SQL语句,竟然执行了。  
  不知道这个是什么意思 ,如果有谁知道的,告诉我一下。  
  layer、block都是数值型 的,在phpmyadmin中说影响到列数了。再次用同样的命令的时候,影响的列数是0,就是没有更新的,但开始的确是影响了列数,但我还没有找出到底是改了我什么东西。受不了 了。呵呵。  
   
  不过insert   into   table   set   fields1='',fields2=''的形式我试过是可以使用的。你们还遇到过其它什么SQL执行方面的问题吗? 问题点数:100、回复次数:5Top

1 楼shuixin13(犬犬(心帆))回复于 2004-12-01 12:23:11 得分 50

update   requisition   set     layer=1   and   block=1   and   number='01'  
   
  它等价于  
  update   requisition   set     layer   =   (1   and   block=1   and   number='01')  
  更新完成   layer   将会被更新为   0   或   1  
   
   
   
   
   
  INSERT     [INTO]   tbl_name  
                  SET   col_name=(expression   |   DEFAULT),   ...  
   
  这个句法在   MySQL   3.22.10   及以后的版本中得到支持。    
  Top

2 楼ropriest(馆主)回复于 2004-12-01 12:27:48 得分 10

一个正常的update语句阿,更新完以后再执行就没有更新数据了,所以影响的列为0的Top

3 楼shuixin13(犬犬(心帆))回复于 2004-12-01 12:29:19 得分 10

呵呵.  
  忘了说.  
  为什么第一次执行时有影响的行数.  
  而第二次执行时.没有受影响的记录行了  
   
   
  这是因为.  
  第一次执行时.  
  产生了记录更新.  
  所以在   PHP   返回受影响的记录数,  
   
  而第二次执行时,  
  由于更新值与原值是一样的,  
  所以   MySQL   就把这笔更新忽略了.  
  所以返回受影响的记录数将为   0  
   
   
  在   mysql.exe   字符客户端里执行可能会有更友好的显示结果  
  示例如下:  
   
   
  mysql>   use   test;  
  Database   changed  
  mysql>   update   `t`   set   `qty`   =   1   and   `price`   =1;  
  Query   OK,   0   rows   affected   (0.00   sec)  
  Rows   matched:   3     Changed:   0     Warnings:   0  
   
  有看到   Rows   matched   这一个提示信息了吧.  
  说明符合更新条件的记录数是   3,   而实际受影响而更新的记录数为   0  
  Top

4 楼classjava(原始野人)回复于 2004-12-01 20:52:04 得分 10

^_^,学习Top

5 楼freeheart1977(逍遥的心)回复于 2004-12-01 21:00:11 得分 20

汗,正常的UPDATE而已Top

相关问题

  • 发现CSDN的bug!!!!
  • 我发现VC++的Bug了..........
  • 发现VB6的大BUG!
  • D6 捉虫,发现在 bug
  • 发现一个csdn的bug
  • 我又发现一个BUG!!!!!!!!!!!!!!!!!!!!!!
  • 我发现Delphi的Bug啦!!!!
  • 我发现了一个BUG!!!
  • 我发现了一个BUG
  • 发现CSDN有个BUG!

关键词

  • 执行
  • mysql
  • 更新
  • 列数
  • 影响
  • requisition
  • 记录数
  • layer
  • block
  • update

得分解答快速导航

  • 帖主:julychina
  • shuixin13
  • ropriest
  • shuixin13
  • classjava
  • freeheart1977

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo