deraddy
Goto Top

MySQL mehrere Datenfelder auf einmal vergleichen

Hallo ...

in meiner mySQL Datenbank gibt es eine Tabelle mit folgenden Felder:

id(primarykey); vorname; name; geburtsdatum(text)

Wie kann ich eine Abfrage erstellen um zu prüfen, das ich eine Person (vorname; name ; geburtsdatum) nicht doppelt eintrage?
Jemand eine Idee??

DerAddy

Content-Key: 60977

Url: https://administrator.de/contentid/60977

Printed on: April 19, 2024 at 02:04 o'clock

Member: Guenni
Guenni Jun 10, 2007 at 13:54:53 (UTC)
Goto Top
@DerAddy

Hi,

du mußt nur die Tabelle entsprechend definieren,
indem du Vorname, Nachname, Geburtsdatum
gemeinsam in den Primärschlüssel aufnimmst:

CREATE TABLE `tabelle2` (
`id` INT NOT NULL AUTO_INCREMENT ,
`Vorname` VARCHAR( 24 ) NOT NULL ,
`Nachname` VARCHAR( 24 ) NOT NULL ,
`Geburtsdatum` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `Vorname` , `Nachname` , `Geburtsdatum` ) ,
INDEX ( `id` ) 
) ;

Gruß
Günni
Member: DerAddy
DerAddy Jun 10, 2007 at 16:40:45 (UTC)
Goto Top
Oder so ... Ich hab es anders gelöst ...

SELECT id FROM table WHERE vorname = $var1 AND name = $var2 AND geburtsdatum = $date .

Danke für den guten Vorschlag
Member: Desperado
Desperado Jun 11, 2007 at 05:29:39 (UTC)
Goto Top
der gute dublettenabgleich face-smile

Du kannst am simpelsten einfach aus den 3 Feldern 1 String machen und diesen vergleichen:

SELECT vorname + name + geburtsdatum As Kontaktstring FROM Tabelle

Grüsse, Desperado