perl – 为什么我得到0E0作为DBI“execute”方法的返回值?
发布时间:2020-12-15 21:47:19 所属栏目:大数据 来源:网络整理
导读:我编写了一个示例Perl程序来从数据库表中删除数据. 这是我写的代码, use DBI;my $dbh = DBI-connect("DBI:Pg:host=192.168.12.23;port=5432;","adhi"); if ( $dbh ) { print "Connected successfullyn"; my $exe = $dbh-prepare("delete from perl_test.tes
我编写了一个示例Perl程序来从数据库表中删除数据.
这是我写的代码, use DBI; my $dbh = DBI->connect("DBI:Pg:host=192.168.12.23;port=5432;","adhi"); if ( $dbh ) { print "Connected successfullyn"; my $exe = $dbh->prepare("delete from perl_test.test"); my $res = $exe->execute(); if ( $res ) { print "deleted the table successfully of rows: $resn"; } } 如果我已执行上述操作,则应打印成功的消息,然后删除已删除的行数. 如果表是空的,则打印0E0而不是0. 有人可以解释一下它是如何工作的吗? 解决方法
以这种方式完成以允许测试操作是否成功.原因是’0E0′(作为字符串)是一个真值,但0是Perl中的假值.因此:
>你可以测试if中的返回值以确定操作是否成功(true表示成功), 如果只需要删除的行数,可以使用$res 0或$res * 1.但只有在测试操作成功后才能使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |