程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL數據庫中“與不匹配行有關的問題”

MySQL數據庫中“與不匹配行有關的問題”

編輯:關於MYSQL數據庫

如果有使用了很多表的復雜查詢,但未返回任何行,應采用下述步驟找出什麼出錯:

用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郵件列表。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved