Hola,
ich habe mich gefragt, wie man es am effizientesten schaffen kann, dass doppelte Einträge in einer mySQL DB vermieden werden?
Hier mein normales Einfügescript:
my $input_vor = 'Susi';
my $input_nach = 'SusisNachname';
my $dbh = DBI->connect("DBI:mysql:$database:$dbserver", $user, $pass, {AutoCommit => 0}) or die "Cant connect : $!\n";
my $einfuegen = $dbh->prepare(q{INSERT INTO haupttabelle (vorname,nachname) VALUES (?,?)}) or die $dbh->errstr;
$einfuegen->execute($input_vor,$input_nach) or die $dbh->errstr;
$einfuegen->finish;
print "Content-type:text/html\n\n";
print 'Fertig';
$dbh->disconnect;
Jetzt habe ich versucht, die Zeile mit INSERT INTO irgendwie so abzuändern, dass zB
$dbh->prepare(q{INSERT INTO haupttabelle (vorname,nachname) VALUES (?,?) WHERE vorname NOT "$input_vor" AND nachname NOT "$input_nach"})
oder
$dbh->prepare(q{INSERT INTO haupttabelle (vorname,nachname) VALUES (?,?) WHERE vorname != "$input_vor" AND nachname != "$input_nach"})
oder
$dbh->prepare(q{INSERT INTO haupttabelle (vorname,nachname) VALUES (?,?) WHERE vorname != $input_vor AND nachname != $input_nach})
dortsteht, aber er gibt mir immer eine Fehlermeldung aus. Wie kann man das Problem am Besten angehen?
Frickelmeister.