2013-04-14 48 views
0

我有一個cronjob循環並逐行更新MySQL表。表完成後,我想再執行一次cronjob執行各種清理活動。mysql表可以包含表特定的元數據標誌

execute a cronjob exactly once,thaJeztah規定:

最好是設置在MySQL數據庫中的值,例如needs_cleanup = 1.這樣,您隨時可以隨時查找這些記錄。例如,將數據保存在數據庫中可以恢復,例如,如果cron-job未執行或循環中途失敗。 - thaJeztah

我認爲這將是一個很好的解決方案,如果可能的話,因爲在我的情況下,我只需要每天設置一次標誌。如果有可能有人指向sql命令nescesary執行一個簡單的二進制標誌的位置,值爲0,1在MySQL表中?

回答

1
UPDATE mytable SET needs_cleanup = 1 

它爲mytable的所有記錄。如果您需要單個記錄,請添加WHERE條件

UPDATE mytable SET needs_cleanup = 1 
WHERE id = 1 
+0

是否有可能做到這一點,而不涉及記錄,但只是表? – user61629

+0

關係數據庫的關鍵點僅僅依賴於單一類型的數據結構,即表。如果您開始向字段以外的表添加屬性,那麼它不再是一個表,並且您需要其他類型的(非關係)查詢機制。你可能會改變一個表的註釋屬性,但我認爲它只是MariaDB的最新版本才允許它。或者,您可以使用一個包含表名稱和字段needs_cleanup的表來跟蹤哪些表需要更新。 – koriander

+0

謝謝,我要用你的方法 – user61629

相關問題