nullテーブルの列に挿入したい。
nullを表すのはどれ? undefまたは空の文字列''。
どちらを使用する必要があり、その理由は? 私はそれについて知ってdefinedおり、それを確認することができます。
しかし、私はデータベースの観点からもっと見ています。
どちらがnullより適切に表されますか?
更新:DBIモジュールを使用しています。
DBI はundefSQL を表すために使用しますNULL。空の文字列は、空の文字列を表します。
ただし、一部のデータベースNULLでは、 と空の文字列を 区別しません。オラクルはここで特に犯罪者です。 DBI はそれについて何もできません。
Perl DBI を仮定すると、undefは SQL を表しますNULL。
Perl の空の文字列は、SQL の場合とまったく同じ (つまり、空の文字列) を表します。
DBI モジュールを使用していて、バインドされた引数を使用していると仮定します (手動で SQL を作成している場合NULLは、文字列で使用するため):
未定義の値または
undefは、NULL 値を示すために使用されます。
DBI については perldoc を参照してください
DBI を直接使用していない場合 (例えば、DBIx::Class やその他の ORM を使用している場合)、DBI の動作を継承していることに気付くでしょう。