my $sth = $dbh->prepare('UPDATE Games SET Away_Team_ID=(SELECT Team_ID FROM Teams WHERE Name = ?) WHERE Date = ?') or die("Error preparing statement: " . $dbh->errstr); open(INPUT, '<', 'Path/file_with_data') or die ("Error opening file with updates: " . $!); while () { my ($teamname,$gamedate) = split(','); $sth->execute($teamname, $gamedate) or die("Error executing update: " . $dbh->errstr); } close(INPUT);