Mailinglisten-Archive |
hallo, > > 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. > > wenn du das Feld `email` UNIQUE machst bekommst du eine Fehlermeldung > bei einem INSERT mit einer bereits bestehenden mail-adresse mmh, nicht ganz richtig, das UNIQUE muss über email UND role, weil sonst wäre es in dieser sql-struktur nicht möglich, eine email-adresse mit mehrere verschiedenen rollen reinzuschreiben. oder, wenn die alte rolle nicht benötigt wird, musste diese zuuerst gelöscht werden. eine optimale normaliserung der sql-struktur wäre ansonsten: TB1 id email TB2 id role TB3 id email_id role_id da wäre dann ein UNIQUE in TB3 über email_id, role_id je nach datenmengen und weiteren überlegungen in der zukunft würde ich eine normalisierte version vorziehen. achja, wenn das INSERT nicht über eine fehlermeldung abgefangen werden soll, ist auch ein INSERT IGNORE möglich. dann würde bei einer doppelung stillschweigend nichts geschrieben. spart ein wenig arbeit ;-) h. -- +++ GMX - die erste Adresse für Mail, Message, More +++ Neu: Preissenkung für MMS und FreeMMS! http://www.gmx.net -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive