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