Anzeige bestimmte der Datensätze mit phpmyadmin

wowonk

Benutzer
Beiträge
18
Hallo,
in einer mariadb-Dantebank werden, wenn ich das richtig verstehe, die Daten verschiedener Datenbanken in EINER "Haupt-Datenbank" aufgelistet, wobei die Herkunftsdatenbank durch ein Datenfeld (bei mir channel_id) bei den Datensätzen unterschieden wird.
Wenn ich in phpmyadmin "Anzeigen" wählen und mit ">>" auf die letzten Datensätze gehe, werden mir allerdings NICHT die letzten Datensätze angezeigt (am timestamp zu erkennen). Erst mit einem passenden SQL-Befehl komme ich auf die letzten Datensätze. Ist das normal? (Bitte Erläuterung für Dummy)
Gruss wowonk
 
Werbung:
In einer mariadb-Dantebank werden, wenn ich das richtig verstehe, die Daten verschiedener Datenbanken in EINER "Haupt-Datenbank" aufgelistet

Was Du vermutlich meinst sind Tabellen. Eine Datenbank besteht aus Tabellen die die Datensätze enthalten.

Wenn ich in phpmyadmin "Anzeigen" wählen und mit ">>" auf die letzten Datensätze gehe, werden mir allerdings NICHT die letzten Datensätze angezeigt (am timestamp zu erkennen). Erst mit einem passenden SQL-Befehl komme ich auf die letzten Datensätze

Jede Datenbank zeigt die Daten in einer "zufälligen" Reihenfolge an. Erst wenn Du in einem SELECT ein ORDER BY hinzufügst werden die Daten sortiert - in phpMyAdmin kannst Du das erzwingen, indem Du eine andere Sortierung auswählst.
 
Hallo,
in die Datenbank werden permanent Messwerte verschiedener Sensordaten geschrieben, die Daten der verschiedenen Sensoren werden an Hand der uuid unterschieden, hier die Tabelle entities dazu. (Bild1)
Normalerweise finde ich die neuesten Daten am Ende der Tabelle data. (Bild2)
Wenn ich mir per SELECT aber nur die Daten von channel_id=14 ansehe, bekomme ich neuere Daten, obwohl auch in die Tabellen mit anderen channel_ids ständig Daten geschrieben werden.
(Bild3).
Woher kommt es, dass ich die bei Bild2 nicht bekommen habe?
Gruss, wonk
 

Anhänge

  • Bild1.jpg
    Bild1.jpg
    70,9 KB · Aufrufe: 10
  • Bild2.jpg
    Bild2.jpg
    66,5 KB · Aufrufe: 13
  • Bild3.jpg
    Bild3.jpg
    56,2 KB · Aufrufe: 10
das ist alles nur nebulös, aus deinen Bildern ist nicht erkennbar was du da hast und machst. Wozu dient die uuid, warum speicherst Du Zeiten als Zahlen?

Wie schon gesagt, ohne ein ORDER BY hat die DB das 'Recht', die Daten in einer willkürlichen Reihenfolge anzuzeigen, z.B. zur Optimierung. PG macht das seit ca. 2013, siehe 'synchronize seqscan', oder auch in Hash-Joins.
 
Hallo,
wie gesagt, die Datenbankstruktur ist mir so vorgegeben, daran kann ich nichts ändern. Die Zeitangaben ist der Linux-timestamp. Über die uuid wird der jeweilige Sensor mit seiner eigenen Konfigurationsdatei verbunden, die z.B. enthält, in welchen Zeitabständen er von der Software abgefragt wird.
Wenn ich SELECT * FROM 'data' ORDER BY 'timestamp' durchführe, sind übrigens die neuesten Datensätze auch nicht am Ende.
Wenn ich SELECT * FROM `data` WHERE`channel_id`=14 ORDER BY `timestamp` durchführe, sind die neuesten Datensätze (natürlich nur channel_id=14) am Ende.
Ist das auch normal?
Gruss, wowonk
 
Einfach eine schlechte Konstellation von MySQL, PMA, unklarer Tabellenstruktur und Datentypen, Mischung aller verfügbaren Quote-Zeichen und so weiter ... für niemanden hier reproduzierbar.

Hint: sowohl MySQL als auch PMA sind einfach nur Sammelbecken von Bugs und Fehlern... you get what you paid for.
 
Wenn ich SELECT * FROM 'data' ORDER BY 'timestamp' durchführe, sind übrigens die neuesten Datensätze auch nicht am Ende.

Würde das wirklich so stimmen dann musst Du den Programmierer der Applikation fragen, die die Daten einträgt. Die Datenbank sortiert bei Deinem SELECT genau nach dem timestamp. Wenn da falsche Daten drin stehen dann hat die Applikation einen Fehler.
 
Würde das wirklich so stimmen dann musst Du den Programmierer der Applikation fragen, die die Daten einträgt. Die Datenbank sortiert bei Deinem SELECT genau nach dem timestamp. Wenn da falsche Daten drin stehen dann hat die Applikation einen Fehler.

ich denke mal, @wowonk zeigt uns nicht das, was wirklich als Select an die DB geht, sondern was er denkt, was seiner Meinung nach an die DB geht. Aber wie schon in #8 gesagt, das ist alles unklar und für niemanden nachvollziehbar. Bilder und syntaktisch offensichtlich falsche SQL-Befehle helfen nicht weiter. Es ist nicht klar, was die Tabelle in Bild 1 mit den Bildern 2 und 3 zu tun haben, keiner weiß, was ">>" in PMA macht, ich hab auch NULL Bock aus den Bildern nun UNIX-Timestamps zu vergleichen etc.
Wenn ein Fragesteller so erkennbar wenig Mühe sich gibt, auch nach mehrfacher Nachfrage nicht willens ist, sein Problem nachvollziehbar zu schildern, wird er auch keine weitere Hilfe bekommen. EOD.
 
Werbung:
Hallo!
Würde das wirklich so stimmen dann musst Du den Programmierer der Applikation fragen, die die Daten einträgt. Die Datenbank sortiert bei Deinem SELECT genau nach dem timestamp. Wenn da falsche Daten drin stehen dann hat die Applikation einen Fehler.
Leider kann ich die Programmierer nicht fragen, vielleicht ist ja die Datenbankdatei defekt? Kann man so etwas mir irgendeinem Befehl prüfen?
Zu @akretschmer: Falls phpmyadmin andere Befehle an die Dantenbank sendet als ich eingegeben habe (von den richtigen Hochkommata als Eingabefehler abgesehen), habe ich mit meinen Kenntnissen keine Chance, dieses zu erkennen. Wie in #1 erläutert, bin ich Anfänger. Ich wußte nicht, dass dieses Forum eher nicht für Anfänger vorgesehen ist.
Gruss, wonk
 
Zurück
Oben