FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ettettette am 07 November 2017, 08:02:41

Titel: Löschen von Werten mit SQL
Beitrag von: ettettette am 07 November 2017, 08:02:41
Hallo zusammen,
ich versuche seit Tagen SQL-Befehle in fhem abzusetzen.
Ich möchte beispielsweise Werte aus der Datenbank löschen:
set logdb userCommand DELETE from logdb WHERE DEVICE = Sensor3
Wenn ich dann in dem Datenbank-Frontend nachschaue, sehe ich keinen Effekt.
Was mache ich falsch?

P.S.: manchmal scheint es zu funktionieren, da ich ganze Spalten löschen konnte.

Lieb Grüße
ette
Titel: Antw:Löschen von Werten mit SQL
Beitrag von: Frank_Huber am 07 November 2017, 08:11:48
Delete from history sollte da rein.


Mit dem Handy online, daher kurz gefasst...

Titel: Antw:Löschen von Werten mit SQL
Beitrag von: ettettette am 07 November 2017, 17:40:29
Warum denn history?
Meine Tabelle heisst doch logdb:
defmod logdb DbLog ./db.conf .*:.*

Oder habe ich da was falsch verstanden
Titel: Antw:Löschen von Werten mit SQL
Beitrag von: Frank_Huber am 07 November 2017, 18:37:03
Zitat von: ettettette am 07 November 2017, 17:40:29
Warum denn history?
Meine Tabelle heisst doch logdb:
defmod logdb DbLog ./db.conf .*:.*

Oder habe ich da was falsch verstanden
Dein device in FHEM heisst logdb,
Innerhalb der Datenbank ist es  die Tabelle "history"

Deshalb.

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:Löschen von Werten mit SQL
Beitrag von: ettettette am 12 November 2017, 11:10:40
Hab ich mal ausprobiert:
Befehl in fhem eingetippt:
set logdb userCommand Delete from history WHERE DEVICE = Lueften
Anschliessend FHEM WebFrontende die Datenbank ausgelesen:
Alle Werte noch da!

Titel: Antw:Löschen von Werten mit SQL
Beitrag von: ettettette am 16 November 2017, 16:22:33
Noch jemand eine idee?
Titel: Antw:Löschen von Werten mit SQL
Beitrag von: Frank_Huber am 16 November 2017, 16:29:38
set logdb userCommand Delete from history WHERE DEVICE = "Lueften";

sorry, hatte deinen letzten Post übersehen.

Ich lösche direkt in der Konsole über sqlite. Der Befehl wird da per semicolon abgeschlossen.
versuche es mal wie oben, ansonsten prüfe ob das device wirklich so geschrieben wird. (Groß/Kleinschrift!)
Titel: Antw:Löschen von Werten mit SQL
Beitrag von: DS_Starter am 16 November 2017, 18:55:06
Die usercommand-funktion ist recht einfach gebaut. möglicherweise liegt es an einem fehlenden autocommit auf deiner DB. Vorschlag: Installiere dir ein Dbrep-device. Dann hast du die Möglichkeit sehr differenziert zu löschen (und weitere Funktionen).
Titel: Antw:Löschen von Werten mit SQL
Beitrag von: ettettette am 20 November 2017, 07:25:48
So hat das zumindest schon mal funktioniert.
Die SQL-Abfrage die ich eigentlich machen wollte hab ich unter https://forum.fhem.de/index.php/topic,79855.0.html (https://forum.fhem.de/index.php/topic,79855.0.html) jetzt nochmal neu formuliert.