Einträge die älter als 24h sind in der PostgreSQL Datenbank löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Das hätte dann aber hier auch funktioniert, wenn du uns verraten hättest, dass die Spalte created_at und nicht created heißt
    Spaß beiseite... dort steht nichts anderes, als hier zuvor geraten.
    24 hours
    und
    1 day
    sind austauschbar

    Kommentar


    • #17
      hey sharbich
      manchmal liegt das Problem an den Spaltennamen oder Datentypen. Wenn die Spalte „created“ vom Typ timestamp ist, sollte PostgreSQL eine Abfrage wie diese ohne Probleme akzeptieren:
      sql
      DELETE FROM fail2ban WHERE created < NOW() - INTERVAL '1 day';
      + wenn du mit Datumsangaben in PostgreSQL arbeitest, solltest du immer überprüfen, welcher genaue Typ die Spalte hat (z. B. timestamp, timestamp with time zone oder etwas anderes). manchmal kann ein kleiner Unterschied wie der zwischen timestamp und text dafür sorgen, dass die Abfrage fehlschlägt

      und was PHP betrifft: Wenn du solche seltsamen Fehler wie „unexpected variable“ bekommst, stelle sicher, dass keine versteckten Zeichen in der Datei sind (manchmal schleichen sich beim Kopieren des Codes aus Editoren oder Foren solche Zeichen ein). am besten überprüfst du die Datei in einem anderen Editor, z. B. nano oder vim, um zu sehen, ob sich dort etwas versteckt hat.

      für die Zukunft solltest du immer den genauen Spaltennamen in der Abfrage verwenden, denn „created“ und „created_at“ sind Welten auseinander – und es kostet dich schnell mal einen halben Tag zum Debuggen

      lass hören, ob es funktioniert hat

      Kommentar

      Lädt...
      X