Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
28.07.2009, 01:03
the_Crow



Gibt es bei MySQL die Möglichkeit automatisch einen Datensatz, mit bestimmten Inhalten aus einem gerade erzeugten Datensatz, zu erzeugen.

zB:
*Ein PHP Skript erzeugt einen neuen Datensatz "1" in Tabelle A.
Quellcode:Tabelle A
login = 'Testuser', password = 'test', name = 'foo', location = 'bar'
*MySQL erzeugt jetzt automatisch einen Datensatz "2" in Tabelle B, mit dem Inhalt von login und password.
Quellcode:Tabelle B
login = 'Testuser', password = 'test'
Ich hab "mysql.com" schon nach sowas durchsucht, aber nichts gefunden, weil ich nicht einmal weiß wie man das nennen könnte.

--

www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada

zum Seitenanfang zum Seitenende Profil || Suche
001
28.07.2009, 01:15
hausi



1. Möglichkeit ist eine einfache View: CREATE VIEW foo AS SELECT login, password FROM bar;
2. Möglichkeit ist ein Trigger, der bei einem INSERT in der Tabelle den Datensatz in die andere Tabelle einfügt.
3. Möglichkeit wäre natürlich, das ganze in der Programmlogik zu lösen (was wohl nicht unbedingt deinem Wunsch entspricht).

Möglichkeit 1 ist besser, wenn du alle Datensätze haben willst und Änderungen auch aktualisiert werden sollen, Möglichkeit 2 solltest du nur nehmen, wenn es wirklich nicht anders geht.

Edit:
Der Trigger würde ungefähr so aussehen (ungetestet):
Quellcode:DELIMITER |
CREATE TRIGGER triggername AFTER INSERT ON foo
  BEGIN
    INSERT INTO bar SELECT NEW.login, NEW.password FROM NEW;
  END;
|

--


Dieser Beitrag wurde am 28.07.2009 um 01:18 von hausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
28.07.2009, 07:30
Bluthund



Zitat:
hausi postete
Möglichkeit 1 ist besser, wenn du alle Datensätze haben willst und Änderungen auch aktualisiert werden sollen, Möglichkeit 2 solltest du nur nehmen, wenn es wirklich nicht anders geht.
Auch mit M2 kann er sämtliche Änderungen an Tabelle B durchreichen, wenn er nicht nur nen INSERT- sondern auch zusätzlich einen UPDATE- und nen DELETE-Trigger einrichtet.
Trotzdem ist M1 natürlich den beiden anderen genannten Möglichkeiten überlegen wenn man Performance und Wartungsaufwand betrachtet und es nur darum geht vorhandene Daten in ner alternativen Sicht zu zeigen.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
003
28.07.2009, 09:26
the_Crow



Danke. Das ist genau was ich gesucht hab.
Jetzt weiß ich auch wie sich das nennt. ^^

--

www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada

zum Seitenanfang zum Seitenende Profil || Suche