簡體   English   中英

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

[英]Deleting a row based on a float column in Mysql/PHP?

這個

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

不會刪除以下行:

在此處輸入圖片說明

有人可以解釋為什么嗎?

(我假設問題出在浮點數上,因為其他兩列都是整數)

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

太好了,我們知道這行不通。 更重要的是,您能做什么?

可能最准確的解決方案是切換到十進制,例如將列設置為decimal(5, 1) 然后,這應該不是問題。

或者,使用abs()和Difference進行模糊比較:

abs(score - 3.4) < 0.0001

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM