PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL: Ueberpruefen, ob eintrag schon vorhanden


mf_2
2004-12-03, 02:55:03
Hallo,

Ich hab n problem. ich hab n array, dass aus einem formularinput kommt. es enthaelt unter anderm auch n feld "mid". das enthaelt ne zahl ( int ).
jetzt moechte ich die formulardaten in ne mysql-db "datensammlung" scvhreiben, aber nur wenn in dieser db noch kein eintrag mit derselben mid vorhanden ist. wie kann ich das pruefen? ich habs mit mysql_query versucht, siewht aber ned sehr sauber aus und funzt irgendwie auch ned.

Danke im Voraus,

mf_2

Mary
2004-12-03, 04:12:45
a) du fragst ab, ob der Inhalt von dem was du da in die DB schreiben willst schon in der DB ist, oder
b) empfehlenswert wäre ein Feld mit auto_increment und primary_key, das dann automatisch hochzählt. Da du sonst keine Angaben gemacht hast (und es schon spät ist) kann ich das nicht beurteilen.

mf_2
2004-12-07, 00:42:13
ich hab ein autoincrement primary key feld in meinder db. aber das kann ich nicht dafuer verwenden. die mid is einzigartig.
die formulardaten sind emails, die von nem mailserver ( imap ) kommen. diese imap-mails haben alle me eindeutige id, die ich als mid in die mysql-db schreiben will, mit n paar anderen infos. ich fuege beim ersten ausfuehren des scripts mails mit den mids ( message ids ) 1 bis 50 ein. dann bveim zweiten mal sollen nur die neuen emails ( id 51 - x ) eingefuegt werden. es werden aber alle mails vom sacript temporarer abgeholt. im script soll dann entschieden werden, ob die messages schon vorhanden sind in der db, wie das zb bei der mid 33 der fall waere. dann soll kein mysql_query gemacht werden und die naechste msg verarbeitet werden. die msgs 51 bis x haben aber noch keinen eintrag, also sollen die in die datenbank eingefuegt werden.

littlejam
2004-12-07, 07:59:37
Mit PHP würde das etwa so aussehen, du hast nicht gesagt welche Sprache du benutzt:

$bla = mysql_query("select * from Tabelle where mid = $mid");
$bla2 = mysql_fetch_array($bla, MYSQL_ASSOC);
if(!$bla2['id']) "hier jetzt die daten eintragen"; // id ist das primary key feld
else echo "is nich weil gibts schon";

Gruß

mf_2
2004-12-08, 04:43:45
Ja, es war PHP. Vielen Dank, die Loesung klappt wunderbar!