MySQL は文字列を数値に自動的に変換しますか?
この変換はどのように機能するのでしょうか?
units.id の型が bigint であるとすると、このクエリはどのように解釈されるでしょうか?
units.id
デフォルトでは、MySQL は 1 と "1" を同じように扱いますが、MySQL の動作を厳密モードに設定することでこれを変更できます。
または、my.cnf ファイルでこれらの変数を sql_mode = '' の永続変数として設定することもできます。このようにして、間違った型が使用された場合、MySQL はエラーをスローします。 詳細については、http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html を参照してください。
sql_mode = ''
最初の 3 つの質問に対する答えは、「はい」、「はい」、「いいえ」です。
文字列 'text' を数値に変換すると、値 0 になります。
'text'
0
型変換について説明したドキュメントは ここ .
お問い合わせについて:
ルールはドキュメントの抜粋を通じて取得されます:
つまり、これは実際には次と同等です:
デフォルトでは、MySQL は 1 と "1" を同じように扱いますが、MySQL の動作を厳密モードに設定することでこれを変更できます。
リーリーまたは、my.cnf ファイルでこれらの変数を
sql_mode = ''
の永続変数として設定することもできます。このようにして、間違った型が使用された場合、MySQL はエラーをスローします。 詳細については、http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html を参照してください。最初の 3 つの質問に対する答えは、「はい」、「はい」、「いいえ」です。
文字列
'text'
を数値に変換すると、値0
になります。型変換について説明したドキュメントは ここ .
にあります。お問い合わせについて:
リーリールールはドキュメントの抜粋を通じて取得されます:
つまり、これは実際には次と同等です:
リーリー