我正在使用以下查询填充数据库并返回最后一个插入ID或ID(如果记录已存在)。它在我的Perl脚本中工作正常,但是我注意到即使存在导致ID字段中存在间隙的记录,自动增量字段仍然会上升。有没有解决的办法?我查看了其他示例,但查询并不完全相同。
INSERT INTO `testTable` (`testA`, `testB`) VALES ("test1", "test2")
ON DUPLICATE KEY UPDATE `Id` = LAST_INSERT_ID(`Id`);
Perl我用以下内容获取了ID:
$dbh->do($sql);
$blockInfo = $dbh->{mysql_insertid};
感谢您的帮助或建议。我想过只做一个if语句查找字段并返回Id,如果它在那里,如果没有插入但我试图最小化我使用的查询量。