电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > 数据库 > 正文
MySQL数据库中“与不匹配行有关的问题”
MySQL数据库中“与不匹配行有关的问题”
2007-9-28 10:48:48  文/yashi   出处:赛迪网   

如果有使用了很多表的复杂查询,但未返回任何行,应采用下述步骤找出什么出错:

用EXPLAIN测试查询,以检查是否发现某事显然出错。

仅选择在WHERE子句中使用的列。

从查询中1次删除1个表,直至返回了某些行为止。如果表很大,较好的主意是在查询中使用LIMIT 10。

对于具有与上次从查询中删除的表匹配的行的列,发出SELECT查询。

如果将FLOAT或DOUBLE列与具有数值类型的数值进行比较,不能使用等式(=)比较。在大多数计算机语言中,该问题很常见,这是因为,并非所有的浮点值均能以准确的精度保存。在某些情况下,将FLOAT更改为DOUBLE可更正该问题。请参见A.5.8节,“与浮点比较有关的问题”。

如果仍不能找出问题之所在,请创建能与显示问题的“mysql test < query.sql”一起运行的最小测试。通过使用mysqldump --quick db_name tbl_name_1 ... tbl_name_n > query.sql转储表,可创建测试文件。在编辑器中打开文件,删除某些插入的行(如果有超出演示问题所需的行),并在文件末尾添加SELECT语句。

通过执行下述命令,验证测试文件能演示问题:

shell> mysqladmin create test2
shell> mysql test2 < query.sql

使用mysqlbug将测试文件张贴到哟娜通用MySQL邮件列表。

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    MySQL转换Oracle的七大注意事项
    Mysql表别名的用法
    如何彻底删除MYSQL?
    MySQL 操作日志查看的实际操作步骤与…
    详解MySQL处理NULL值的方法提高性能
    详解linux下纯手动安装MySQL源码的步…
    Mysql数据库名和表名在不同系统下的…
    mysql全文搜索:sql的写法
    MySQL易学易用:MYSQL不为人知的特性
    解答SQL不许在视图定义ORDER BY子句…
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号