我编写了一个示例Perl程序来从数据库表中删除数据.
这是我写的代码,
use DBI;
my $dbh = DBI->connect("DBI:Pg:host=192.168.12.23;port=5432;", "adhi");
if ( $dbh ) {
print "Connected successfully\n";
my $exe = $dbh->prepare("delete from perl_test.test");
my $res = $exe->execute();
if ( $res ) {
print "deleted the table successfully of rows: $res\n";
}
}
Run Code Online (Sandbox Code Playgroud)
如果我已执行上述操作,则应打印成功的消息,然后删除已删除的行数.
如果表是空的,则打印0E0
而不是0
.我不知道它是如何返回这样的值?
有人可以解释一下它是如何工作的吗?
Rus*_*lov 11
以这种方式完成以允许测试操作是否成功.原因是'0E0'
(作为字符串)是一个真值,但0
在Perl中是一个假值.因此:
你可以测试返回值if
以确定操作是否成功(true表示成功),
但您也可以使用返回值作为数字来了解已删除行的确切数量,因为当用作数字时,0E0的计算结果为0.
如果只需要删除的行数,可以使用$res + 0
或$res * 1
.但只有在您测试了操作成功之后.
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |