$dbh->begin_work; my $href = $dbh->selectall_hashref("SELECT * FROM data WHERE ToScan IS NULL AND title IS NOT NULL limit 1 FOR UPDATE SKIP LOCKED", "someid"); foreach my $tmp (keys %$href) { $ID=$href->{$tmp}->{'id'}; $title=$href->{$tmp}->{'title'}; $channel=$tmp; } my $rsth=$dbh->prepare("UPDATE data SET lock=1 WHERE id='$ID'"); $rsth->execute() || die $rsth->errstr; $dbh->commit;