dirk.dietze
Goto Top

Mehrere Spalten einer MySQL Tabelle zusammenführen und in eine andere Spalte, selbe Tabelle übertragen

Ziel ist es in einer MySQL Tabelle "QM" den Inhalt der Spalten Name, Geprüft am und Status zeilenweise zusammenzuführen, getrennt durch "," und diese Kombination in die Spalte "Historie" der gleichen Tabelle ebenfalls jeweils in die richtige Zeile zu übertragen.
Eindeutiges Merkmal der einzelnen Zeilen ist der Wert in der Spalte "DocID".
Das Script soll mehrmals täglich ausgeführt werden und dabei prüfen ob es seit dem letzten Lauf neue Einträge in den Spalten Name, Geprüft am und Status gibt und diese wenn ja in der Spalte Historie wieder als Kombination zeilenweise ergänzen.
Die Spalte Historie ist in unserem Fall ein Bemerkungsfeld und läßt das hinzufügen neuer Einträge zu.

Wäre für jede Hilfe sehr dankbar, habe dies als Aufgabe bekommen und habe auer meinen Vorstellungen wie es werden könnte keinen Plan zur Umsetzung!

Vorab schon mal vielen Dank für eure Bemühungen.

Content-Key: 217548

Url: https://administrator.de/contentid/217548

Printed on: April 19, 2024 at 16:04 o'clock

Member: filippg
filippg Sep 21, 2013 at 13:32:44 (UTC)
Goto Top
Hallo,

darf ich einen andern Ansatz vorschlagen? Der von dir genannte erscheint mir mit der regelmäßigen Ausführung nicht sehr performant - und vor allem nicht sehr sicher: Die Nutzer werden sich darauf verlassen, dass die Historie vollständig ist, das kannst du aber mit einer zeitgesteuerten Ausführung nicht sicherstellen. Bestimmt wird es Fälle geben, wo zwei Updates hintereinander ausgeführt werden, ohne dass dazwischen das Skript lief -> Die Lösung ist eine ereignisgesteuerte Ausführung, die bei jedem Update der Spalte Status automatisch die Historie ergänzt. Das Stichwort dazu nennt sich Trigger. Gebe das doch mal in deine präferierte Suchmaschine ein (oder schaue einfach in der MySQL-Referenz).

Grüße

Filipp
Member: dirk.dietze
dirk.dietze Sep 21, 2013 at 17:37:49 (UTC)
Goto Top
hallo Filipp,

Wie schon erwähnt bin ich eher der Neuling auf dem Gebiet des Umgangs mit Datenbanken und nur durch Ausfall eines Kollegen wegen Krankheit überhaupt dazu gekommen.
Das mein Chef gleich mit, für mich so großen Kalibern, auf mich schiesst hätte ich auch nicht gedacht.
Fakt ist das er eine Lösung erwartet und ich zwar von Triggern schon gehört habe, leider aber so garnicht weiß wie ich diesen in funktionierender Form in mein MySQL an die entsprechende Tabelle einbinde.
Mir ist auch klar das meine herangehensweise für Profis sicher merkwürdig sein mag, aber so siehts eben aus wenn man keine richtige Ahnung hat und deshalb habe ich ja auch hier um Hilfe gebeten.
Natürlich werde ich mich weiter mit dem Thema beschäftigen und mir entsprechendes Wissen aneignen, dennoch währe mir zum jetzigen Zeitpunkt, von einem der offensichtlich weiß wie es geht, doch mehr geholfen wenn ich eine fundierte Anweisung bekäme.
Also so in der Art wähle die Tabelle aus >> gehe auf die entsprechende Spalte >>> gehe auf Berabeiten>>> füge select Tabel QM ... usw..

Gruß Dirk
Member: filippg
filippg Sep 21, 2013 updated at 18:13:59 (UTC)
Goto Top
-- kommentar wieder gelöscht - das ist mir zu blöd --
Member: dirk.dietze
dirk.dietze Sep 21, 2013 at 19:08:52 (UTC)
Goto Top
Schade!! Hatte echt gedacht hier auf professionelle Hilfe zu stoßen.
Member: Biber
Biber Sep 21, 2013 updated at 19:45:27 (UTC)
Goto Top
Moin dirk.dietze,

die deutschen Seiten des mySQL-Referenzhandbuchs (die ersten beiden Fundstellen bei "mysql trigger") bringen Syntax und Beispiele in verständlicher oder, um es deutlicher zu formulieren, in einer für mySQL-Neulinge zumutbarer Form.

Bitte mach zumindest einen ersten Gehversuch eigenständig, denn so wie ich es gelesen habe, hast du die DB jetzt in deiner Verantwortung.

Bei Problemen steht hier Hilfe bereit, aber schreiben werde ich die Trigger dir nicht.

Überleg dir, ob du nur einen Trigger BEFORE UPDATE haben willst, oder auch schon einen BEFORE INSERT-Trigger, der schon beim Anlegen irgendeinen Text "Satz angelegt von Heinz am 17.09,2013, Status XY" erzeugen soll.

Grüße
Biber
Member: dirk.dietze
dirk.dietze Sep 21, 2013 at 19:31:57 (UTC)
Goto Top
Hallo Biber,

danke für deine Tipps, werde mich eingehend die nächste Woche mit dem Thema befassen und mich bei Unklarheiten und/ oder Problemen wieder melden.

Gruß Dirk