Hi,
hab da ein kleines Problem, also mal zur Erklärung.
Ich arbeite mit einem Traffic Verwaltungssystem über FTP, das ganze System kann jedoch nur SQL Abfragen senden, jedoch keine verarbeiten, ich kann also keine Werte zurückbekommen.
Nun zum Problem, ich habe eine Tabelle mit den Traffic Daten drin, für jeden User pro Monat eine Zeile. Nun will ich beim Login überprüfen, ob der User schon eine Zeile für diesen Monat hat (dann wird nur der Traffic Wert immer weiter erhöht), falls nicht wird für ihn eine neue Zeile erstellt.
Soweit so gut, normalerweise wäre die Sache ja mit einer Abfrage ob das Ding schon existiert, bzw. einer If Bedingung erledigt, aber das kann ich leider nicht.
Mein Lösungsansatz bisher:
Bei jedem Login eine neue Zeile erstellen
Dann irgentwie überprüfen ob mehr als eine Zeile vorhanden ist, und die mit dem wenigsten Traffic löschen
Das einfügen ist natürich kein Problem, aber halt das Löschen. Mein Ansatz zuerst war:
Delete from traffic where username = '%username' and jahr = YEAR(CURDATE()) and monat = MONTH(CURDATE()) order by traffic desc limit 1,10
Das hieße ja, der überspringt den ersten Eintrag, und löscht danach alle. Klappt auch als Select wunderbar, aber wenn ichs als Delete mache dann eben nicht.
Hat einer ne gute Idee?
hab da ein kleines Problem, also mal zur Erklärung.
Ich arbeite mit einem Traffic Verwaltungssystem über FTP, das ganze System kann jedoch nur SQL Abfragen senden, jedoch keine verarbeiten, ich kann also keine Werte zurückbekommen.
Nun zum Problem, ich habe eine Tabelle mit den Traffic Daten drin, für jeden User pro Monat eine Zeile. Nun will ich beim Login überprüfen, ob der User schon eine Zeile für diesen Monat hat (dann wird nur der Traffic Wert immer weiter erhöht), falls nicht wird für ihn eine neue Zeile erstellt.
Soweit so gut, normalerweise wäre die Sache ja mit einer Abfrage ob das Ding schon existiert, bzw. einer If Bedingung erledigt, aber das kann ich leider nicht.
Mein Lösungsansatz bisher:
Bei jedem Login eine neue Zeile erstellen
Dann irgentwie überprüfen ob mehr als eine Zeile vorhanden ist, und die mit dem wenigsten Traffic löschen
Das einfügen ist natürich kein Problem, aber halt das Löschen. Mein Ansatz zuerst war:
Delete from traffic where username = '%username' and jahr = YEAR(CURDATE()) and monat = MONTH(CURDATE()) order by traffic desc limit 1,10
Das hieße ja, der überspringt den ersten Eintrag, und löscht danach alle. Klappt auch als Select wunderbar, aber wenn ichs als Delete mache dann eben nicht.
Hat einer ne gute Idee?
Kommentar