MySQL SQL 語法 需要注意 型態自動轉換問題

MySQL SELECT、UPDATE、DELETE 加上 WHERE 條件,想說應該就沒有問題,但是若型態不對,可能會出現意想不到的結果。

MySQL SQL 語法 需要注意 型態自動轉換問題

MySQL 可以用 SELECT 來直接看型態自動轉換造成預期外的效果。

此篇有更簡單的範例參考:sql - MySQL - Select on varchar column with 0 (zero) as criteria returns all rows?

  • SELECT
    'foo' = '0', -- false (預期內的)
    'foo' = 0, -- true!
    '0foo' = 0 -- true ("0foo" starts with "0")

解法

  • 要避免這個問題,主要是型態要對,若上述型態 varchar,WHERE 條件後面 id = '0' 就不會有問題。

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料