2016-08-06 13 views
0

hallo Jungs über diese Abfrage frustating im,Mysql Datensatz löschen älter als 10 Sekunden

lässt diese klare erste

ich den Tisch machen:

tabelle1 table2 table3 table4

und jede Tabelle haben einige Fremdschlüssel Beziehung mit anderen lassen sagt

tabelle1 -> table2 -> table3 -> Tabelle 4

aber nur Table3 Datum Zeit Spalte

hat, wie ich Datensatz aus jener Tabelle löschen, wenn älter als 10 Sekunden

ich versuche,

DELETE FROM table1 WHERE timestamp < (NOW() - INTERVAL 1 SECOND) 

DELETE FROM table2 WHERE timestamp < (NOW() - INTERVAL 1 SECOND) 
DELETE FROM table3 WHERE timestamp < (NOW() - INTERVAL 1 SECOND) 
DELETE FROM table4 WHERE timestamp < (NOW() - INTERVAL 1 SECOND) 

aber seine Fehler

Unknown column 'timestamp' in 'where clause' 
+1

Vielleicht hilft 'ON DELETE CASCADE'? – Markinson

+1

kein Zeitstempel verwenden, kann es sich um ein reserviertes Schlüsselwort handeln – rUCHit31

Antwort

0

DELETE FROM table1 JOIN table3 ON table1.constraint_field=table3.constraint_field WHERE timestamp > (NOW() - INTERVAL 1 SECOND)

Und vergessen Sie nicht, CASCADE für die Einschränkungen auf DELETE zu setzen.

Verwandte Themen