我正在尝试将数据从一个 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);
}
您可能需要调用以下函数才能执行此操作。
$h->errstr((
返回上次调用的 DBI 方法的本机数据库引擎错误消息。
参考: https://zetcode.com/perl/dbi/