Mailinglisten-Archive |
Kurt Rene wrote: > Für ein Review-Tool das ich im Moment schreibe (PHP / MySQL) will ich die > E-Mail Adressen der Reviewteilnehmer speichern. An einem Review kann eine > Person in verschiedenen Rollen teilnehmen, z.B. als Reviewleader, Peer, usw. > Aus diesem Grnd habe ich eine Tabelle mit folgender Struktur kreiert: > > CREATE TABLE rt_emails ( > emailid int(11) NOT NULL auto_increment, > email varchar(64) NOT NULL default '', > role varchar(30) NOT NULL default '', > PRIMARY KEY (emailid) > ) TYPE=MyISAM; > > Die Einträge sehen dann so aus: > > 1 | mail1 at domain1.com | leader > 2 | mail1 at domain1.com ¦ peer > .. > > Wenn ein neues Review geplant wird, werden bei den Rollen neue E-Mail > Adressen eingetragen, es können aber auch solche ausgewählt werden die schon > in der Tabelle gespeichert sind. Beim Speichern eines Reviews sollen die > E-Mail Adressen die noch nicht vorhanden sind in dieser Tabelle gespeichert > werden. Und hier stehe ich nun an. > > Muss ich wirklich zuerst schauen ob mir das Select > > SELECT * FROM rt_emails WHERE email=".." AND role=".." > > keinen Datensatz zurückgibt und erst dann kann ich ein Insert machen oder > sehe ich einfach nicht wie ich es einfacher lösen könnt? wenn du das Feld `email` UNIQUE machst bekommst du eine Fehlermeldung bei einem INSERT mit einer bereits bestehenden mail-adresse das sparrt dir das vorrige abfragen, musst halt hinterher nur abfragen ob der INSERT ergolgreich war, anhand des Rückgabewertes -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive