MariaDB社区
标题:
解决与不匹配行有关的问题
[打印本页]
作者:
jeff
时间:
2007-10-30 12:13
标题:
解决与不匹配行有关的问题
如果有使用了很多表的复杂查询,但未返回任何行,应采用下述步骤找出什么出错:
用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邮件列表。
欢迎光临 MariaDB社区 (http://123.56.88.72/)
Powered by Discuz! X3.2