在Perl数据库操作中使用NULL值
未定义的值或undef用于在Perl的数据库操作中指示NULL值。您可以像使用非NULL值一样插入和更新NULL值的列。这些示例使用NULL值插入和更新列寿命-
$sth = $dbh->prepare(qq {
INSERT INTO TEST_TABLE (FIRST_NAME, AGE) VALUES (?, ?)
});
$sth->execute("Joe", undef);这里的qq{}用于返回带引号的字符串以准备API。但是,在WHERE子句中尝试使用NULL值时必须小心。考虑-
SELECT FIRST_NAME FROM TEST_TABLE WHERE age = ?
将undef(NULL)绑定到占位符将不会选择具有NULL寿命的行!至少对于符合SQL标准的数据库引擎。为此,请参考数据库引擎的SQL手册或任何SQL书籍。要明确选择NULL,您必须说“WHEREageISNULL”。
一个常见的问题是让代码片段在运行时处理可以定义或未定义(非NULL或NULL)的值。一种简单的技术是根据需要准备适当的语句,并将占位符替换为非NULL情况-
$sql_clause = defined $age? "age = ?" : "age IS NULL";
$sth = $dbh->prepare(qq {
SELECT FIRST_NAME FROM TEST_TABLE WHERE $sql_clause
});
$sth->execute(defined $age ? $age : ());热门推荐
10 夸赞老师祝福语搞笑简短
11 日语送考祝福语简短
12 生日贺卡祝福语 简短独特
13 英语简短祝福语给学生
14 双节祝福语简短唯美
15 生日牌祝福语英语简短
16 新年祝福语长篇文案简短
17 圣诞祝福语简短文字
18 高考祝福语简短10字