2016-08-06 25 views
0

嗨,大家好即時通訊frustating這個查詢,mysql的刪除記錄年長小於10秒

讓搞清楚第一

我有表:

表1 表2 表3 表4

和每個表都有一些與其他的外鍵關係讓我說

表1 - >表2 - >表3 - >表4

但只表3有日期時間列

如何從這些表中刪除記錄,如果年長超過10秒

我嘗試

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) 

但它的錯誤

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

也許'ON DELETE CASCADE'會有幫助嗎? – Markinson

+1

不使用時間戳,它可能是一個保留關鍵字 – rUCHit31

回答

0

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

並記住在DELETE上爲約束設置CASCADE。