如何检查mysql dbi Perl中的重复键?

时间:2016-02-15 11:22:00

标签: mysql perl

我正在尝试将数据从一个db1迁移到其他db2。

迁移时,可能存在重复的主键,然后我想用db1值重写。这可以通过重复键sql语句来实现。

但我想将重复的输入密钥存储到地图中?怎么可能?

这是我为迁移编写的代码:

my $select = $dbh1->prepare("SELECT pr_id, name, lastname FROM person");
my $insert = $dbh2->prepare("INSERT INTO PERSON(pr_id, name, last_name) VALUES (?,?,?)");

$select->execute; 
while ( my($PR_ID,$NAME,$LASTNAME) = $select->fetchrow_array )
{
   $insert->execute($PR_ID,$NAME,$LASTNAME);
}

1 个答案:

答案 0 :(得分:1)

您可能需要调用以下函数来执行此操作。

$ H-> errstr()
从最后一个名为。

的DBI方法返回本机数据库引擎错误消息

请参阅:http://zetcode.com/db/mysqlperl/err/