2016-01-15 47 views
0

刪除基於Mysql/PHP中的浮動列的行?

DELETE FROM `z_ratings` 
WHERE `score` = '5.4' 
    AND `media_id` = '242' 
    AND `user_id` = '1' 

不會刪除以下行:

enter image description here

任何人都可以解釋,爲什麼?

(我假設的問題是與浮動因爲兩個其他列是整數)

+0

@Abdulla這是笨通過活動記錄生成雖然查詢。我會檢查是否有刪除這些單引號的方法 – Callombert

+0

您可以將類型切換爲小數嗎? http://stackoverflow.com/questions/2567434 – fafl

+0

共享表'z_ratings'創建腳本 – lad2025

回答

1

的問題是浮點列。您可以使用此表示和比較來查看問題。一個地方開始是documentation

太好了,我們知道它不起作用。更重要的是,你可以做什麼?

也許最準確的解決方案是切換到十進制,例如decimal(5, 1)的列。那麼,這應該不成問題。

或者,使用abs()和差爲一個模糊的比較:

abs(score - 3.4) < 0.0001 
+0

看起來像這是問題所在。我要去看看是否有效。 – Callombert

+0

@ gordon-lindoff,這實際上是正確的。謝謝您的幫助 – Callombert