##背景 文字列を送信して、DBの対象のフィールドと比較してマッチしたものを返すという簡単なAPIを作りテストを行っていました。 その最中、なぜか数値の0を送ると全てのデータが返ってくるバグを見つけプログラムを見直したところ 数値は比較対象に限らず数値のままクエリ文に埋め込まれてしまっていたようで、その時のSQLをざっくり表すと下のような感じ。 mysql> SELECT id, title FROM comics WHERE title = 0; +---------+---------------------------+ | id | title | +---------+---------------------------+ | 1 | 紅殻のパンドラ | | 2 | ゴールデンカムイ | ... +---------+---------------------------+ 7