my $neid = 2329; my $query = "SELECT Root.NEID, State.NEID FROM Root, State WHERE Root.NEID = ?"; my $sth = $dbh->prepare($query) or die $dbh->errstr(); $sth->execute($neid); my ($root,$state) = $sth->fetchrow_array(); if(not defined $state){ $dbh->do("INSERT INTO State(NEID) VALUES(?)",undef,$neid) or die $dbh->errstr(); } if(not defined $root){ $dbh->do("INSERT INTO Root(NEID) VALUES(?)",undef,$neid) or die $dbh->errstr(); }