GrazerTourer Geschrieben 5. November 2015 Teilen Geschrieben 5. November 2015 Hi, Nachdem das bei mir alles bald 10 Jahre her ist und ich überhaupt nie was damit wirklich gemacht habe, außer im Studium zum Spaß, frage ich die Experten im Bikeboard. Ich habe scn vor Längerem für meine Wetterstation eine Datenbank gemacht, wo ich minütlich Daten hinein schreibe. Nun habe ich einen Sensor, der mir einen bestimmten Wert liefert (einen Helligkeitswert). Beim Insert (und auch beim Update) eines Datensatzes, soll nun geprüft werden wie hoch der einzufügende Wert ist. Ist er zB größer gleich 50, soll in einer zusätzlichen Spalte 1 stehen, ansonsten 0. 1 bedeutet in dem Fall, dass die Sonne scheint, 0 das Gegenteil. So könnte ich sehr einfach über das Aufsummieren der 1er die Sonnenminuten/Stunden eines Zeitraums berechnen. Wie macht man denn heutzutage so etwas richtig? Ich will den Wert definitiv erst beim Einfügen in die Tabelle errechnen und nicht schon mit übergeben. Oder soll ich mir eine View erstellen? Das hab ich aber überhaupt noch nie gemacht... Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
stefan_m Geschrieben 5. November 2015 Teilen Geschrieben 5. November 2015 Hallo, Also ich würds mit if/else procedure im mySQL machen (wenn ich deine Aufgabenstellung richtig verstanden habe) siehe hier allerdings würd ich sowas nicht direkt im mySQL machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dg86 Geschrieben 5. November 2015 Teilen Geschrieben 5. November 2015 Servus, wenn du dir die frei verfügbare MySQL Workbench anlachst (download from: https://www.mysql.de/products/workbench/ and install), erstellst dir eine DB-Connection, verbindest dich auf die DB, wählst die Tabelle aus, Rechtsklick Alter Table. Dann im Tab "Trigger" und baust dir einen -- Before Insert Trigger zusammen. Welche MySQL Server Version hastn? Für 5.7 (aktuellste) findest du die Anleitung hier: https://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html Bspw. für 5.5 einfach die Version in der Url ändern: https://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html 5.6, 5.1, 5.0 Ein Beispiel, wie's gehen könnte: http://stackoverflow.com/questions/12836270/mysql-trigger-before-insert-value-checking CREATE TRIGGER myTrigger BEFORE INSERT ON table FOR EACH ROW BEGIN IF (NEW.value > 50) INSERT INTO table SET additionalvalue ="1"; END IF; END Sollte so irgendwie machbar sein... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GrazerTourer Geschrieben 5. November 2015 Autor Teilen Geschrieben 5. November 2015 Cool, danke! Version muss ich navhschauen. Bin gerade an keinem PC.* Also ist der weg mit dem Trigger der richtige? Ich weiß ja nicht, was es da seit 10 Jahren alles Neues gibt. Ich geh das morgen Abend an! Melde mich ob's klappt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GrazerTourer Geschrieben 5. November 2015 Autor Teilen Geschrieben 5. November 2015 Hallo, Also ich würds mit if/else procedure im mySQL machen (wenn ich deine Aufgabenstellung richtig verstanden habe) siehe hier allerdings würd ich sowas nicht direkt im mySQL machen. Ich möchte es quasi direkt in MySQL machen, weil ich den Text String den mir die Wetterstation ausgibt nicht zu sehr vorab bearbeiten will. Das bedeutet alles Rechenleistung direkt am Raspberry, der eh schon recht viel zu tun hat mit Backup, Webcam, usw usf. Insofern ist es mir lieber, wenn ich die Daten weiterhin einfach als CSV zum Server schicke und ich dort den Rest mache. Natürlich könnte iches auch dort mit PHP machen, aber da bin ich noch dümmer. Ich kann PHP nicht wirklich, bzw. Nur ein bisserl und zum Debuggen hab ich da einfach nix ordentliches. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
stefan_m Geschrieben 5. November 2015 Teilen Geschrieben 5. November 2015 PHP debuggen spielts auch eigentlich nicht so wirklich! Aber generell sollte es mMn via PHP einfacher sein 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.