MYSQLでは、 FALSE
はブール値ではなく、整数、より具体的にはゼロです。実際、MySQLにはブール列タイプはありません(BOOL
があります) およびBOOLEAN
ただし、これらはTINYINT
の単なるエイリアスです。 )。したがって、クエリは次の同義語です:
SELECT * FROM session WHERE token = 0
token
以降 はVARCHARです。MySQLは文字列を数値に変換する必要があります。このクエリを実行すると、ルールについてのアイデアが得られます:
SELECT
0 + "0001",
0 + "123abc",
0 + "abc123"
その結果、fa356333dd3ee8f1b18b8bf0a827e34c
0
にキャストします 文字で始まるので、一致します。