次のようなMySQL 5.0で何をしても
SELECT 'test' = FALSE
SELECT '' = FALSE
SQL では常に 1 が返されます。その理由は何ですか?私は0またはFALSEを期待していました
質問にコンテキストを追加して編集します。これが問題の原因であり、たまたま $name が誤って false になり、この結合が常にパスするようになり、なぜこれが機能するのか疑問に思いました。
SELECT a.id
FROM user a
INNER JOIN inventory b ON b.user_id = a.id AND b.name = $name