ITPub博客

首页 > Linux操作系统 > Linux操作系统 > MySQL数据库中“与不匹配行有关的问题”

MySQL数据库中“与不匹配行有关的问题”

原创 Linux操作系统 作者:mysql_itpub 时间:2008-07-30 10:23:24 0 删除 编辑

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

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

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

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

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

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

如果仍不能找出问题之所在,请创建能与显示问题的“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邮件列表

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14884316/viewspace-413595/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-17

  • 博文量
    184
  • 访问量
    170446