Nahemoth Geschrieben 16. Mai 2010 Teilen Geschrieben 16. Mai 2010 Hi, ich erstelle gerade eine MySQL-DB in der Benutzernamen und Passwörter hinterlegt werden. Da jeder Benutzer nur ein PW hat, ist der Benutzername der Primärschlüssel. Dass ausgeschlossen ist, dass ein Benutzername Doppelt einggegeben wird, würde ich gerne einen Trigger erstellen. Der Benutzer sollte im Optimalen fall einen Fehler erhalten, dass der Benutzername bereits vergeben ist. Geht das mit einem Trigger ? Danke ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 16. Mai 2010 Teilen Geschrieben 16. Mai 2010 Hallo, wenn Du den Benutzernamen als Primary Key deklariest, dann sorgt MySQL automatisch dafür und gibt dir auch eine schöne Fehlermeldung. #1062 - Duplicate entry 'a' for key 1 Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nahemoth Geschrieben 16. Mai 2010 Autor Teilen Geschrieben 16. Mai 2010 (bearbeitet) ja, aber der user kann damit in der regel net viel anfangen, gibts da auch ne möglichkeit den fehler anzupassen ? hm, und ausserdem gibt er mitr noch den fehler aus: Illegal operatioin on empty result set. er legt den datensatz an, nur mekkert er. Bearbeitet 16. Mai 2010 von Nahemoth Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 16. Mai 2010 Teilen Geschrieben 16. Mai 2010 Du kannst in der Anwendung den Fehler abfangen und entsprechend verarbeiten. MySQL bietet hier an, dass Du die Fehlermeldung geliefert bekommst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nahemoth Geschrieben 16. Mai 2010 Autor Teilen Geschrieben 16. Mai 2010 hm, und das mit der illegal operation, wo kommt das denn her ? danke ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 16. Mai 2010 Teilen Geschrieben 16. Mai 2010 Wahrscheinlich von deinem Trigger. Aber meine Glaskugel ist gerade in Monacco um das Formel 1 Ergebnis zu oraceln. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nahemoth Geschrieben 16. Mai 2010 Autor Teilen Geschrieben 16. Mai 2010 hm, hier ml der trigger: CREATE DEFINER=`nemesis`@`%` TRIGGER `weblogin`.`md5ize_on_insert` BEFORE INSERT ON `weblogin`.`t_users` FOR EACH ROW BEGIN SET NEW.Passwort = md5( NEW.Passwort ) ; END//CREATE DEFINER=`nemesis`@`%` TRIGGER `weblogin`.`md5ize_on_update` BEFORE UPDATE ON `weblogin`.`t_users` FOR EACH ROW BEGIN IF NEW.Passwort NOT REGEXP '^[0-9A-Za-z]{32}$' THEN SET NEW.Passwort = md5(NEW.Passwort); END IF; END// Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 16. Mai 2010 Teilen Geschrieben 16. Mai 2010 Und was hat der Trigger jetzt mit der Überprüfung auf doppelte Benutzernamen zu tun? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nahemoth Geschrieben 16. Mai 2010 Autor Teilen Geschrieben 16. Mai 2010 nichts, aber das ist der einzige, und der liefert den fehler Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 16. Mai 2010 Teilen Geschrieben 16. Mai 2010 Eine ganz einfache Lösung: Lösch den Trigger und liefere aus Deinem Programm das Passwort bereits als MD5 Hash so wie es sich gehört. Trigger sind eben nicht dazu da fachliche Logik in der Datenbank abzulegen. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nahemoth Geschrieben 16. Mai 2010 Autor Teilen Geschrieben 16. Mai 2010 der client ist oo-base, aber wie geht das da in nem formular ? openoffice kennt doch keine md5-funktion. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 17. Mai 2010 Teilen Geschrieben 17. Mai 2010 Ca. 60 Sekunden Google bringen diese Erweiterung zum Vorschein. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nahemoth Geschrieben 17. Mai 2010 Autor Teilen Geschrieben 17. Mai 2010 ja, danke für die lehrstunde ... problem bei der sache ist nur, wie verwendet man diese erweiterung ? ich habe keine anleitung gefunden und aus den beispielen lässt sich eicht herauslesen, was in calc zu tun ist, aber nicht wies in base funktioniert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.