在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 家长会简短祝福语