我想null
在表格的列中插入。
哪一个代表空?undef
或空字符串''
。
应该使用哪一个,为什么?我知道defined
并且我可以检查它。
但我更多的是从数据库的角度来看。
哪一个代表null
更恰当?
更新:我正在使用DBI
模块。
DBI 用于undef
表示 SQL NULL
。空字符串表示一个空字符串。
但是,有些数据库不区分NULL
空字符串和空字符串。 甲骨文在这里是一个特别的罪犯。 DBI 对此无能为力。
假设 Perl DBI,undef
代表一个 SQL NULL
。
Perl 中的空字符串在 SQL 中表示完全相同(即空字符串)。
假设您正在使用 DBI 模块,并且正在使用绑定参数(因为如果您手动构建 SQL,您将NULL
在字符串中使用):
未定义的值或
undef
用于指示 NULL 值。
如果您没有直接使用 DBI(例如,您使用的是 DBIx::Class 或其他 ORM),那么您可能会发现它为此继承了 DBI 的行为。