Perl DBI模块不会引发异常

时间:2019-01-21 18:59:26

标签: mysql windows perl dbi perl5

我尝试在do()方法中使用DBI RaiseError标志为ON的情况下运行某些语句,但是该语句不会失败。

use strict;
use warnings;
use DBI;

my $dbh = DBI->connect("DBI:mysql:database=test;host=192.168.10.101",
                        "test", "123456", {'RaiseError' => 1});

eval { $dbh->do("DROP TABLE foo") }; # foo table not exist
if ($@) {
    print "Dropping foo failed: $@\n";
} else {
    print "ok\n";
}

此代码返回ok而不是错误。

我仅在Windows 7计算机上有此问题。 (当我在Linux上运行此代码时,会引发异常。)这是一个错误吗?

Perl版本:5.16.3, DBI版本:1.623, DBD :: mysql版本:4.022

1 个答案:

答案 0 :(得分:0)

将DBD :: mysql更新到最新版本对我有帮助。