9

nullテーブルの列に挿入したい。

nullを表すのはどれ? undefまたは空の文字列''

どちらを使用する必要があり、その理由は? 私はそれについて知ってdefinedおり、それを確認することができます。

しかし、私はデータベースの観点からもっと見ています。

どちらがnullより適切に表されますか?

更新:DBIモジュールを使用しています。

4

3 に答える 3

14

DBI はundefSQL を表すために使用しますNULL。空の文字列は、空の文字列を表します。

ただし、一部のデータベースNULLでは、 と空の文字列を 区別しません。オラクルはここで特に犯罪者です。 DBI はそれについて何もできません。

于 2012-10-03T14:15:44.477 に答える
8

Perl DBI を仮定すると、undefは SQL を表しますNULL

Perl の空の文字列は、SQL の場合とまったく同じ (つまり、空の文字列) を表します。

于 2012-10-03T12:40:05.020 に答える
4

DBI モジュールを使用していて、バインドされた引数を使用していると仮定します (手動で SQL を作成している場合NULLは、文字列で使用するため):

未定義の値またはundefは、NULL 値を示すために使用されます。

DBI については perldoc を参照してください

DBI を直接使用していない場合 (例えば、DBIx::Class やその他の ORM を使用している場合)、DBI の動作を継承していることに気付くでしょう。

于 2012-10-03T12:41:40.620 に答える