2011-10-18 32 views
0

任何人都可以請幫我 編寫一個程序/函數從MySQL數據庫中的所有表中刪除列名爲 prs_date 30天以上的行嗎?刪除30天以前的列中的所有行

+0

結合它你嘗試過這麼遠嗎?你爲什麼不成功?它似乎並不難說實話.... – Ruben

+0

iam新到MySQL。 – dev

+0

這是否使你從谷歌搜索?如果你的谷歌在你的頭銜上,你將能夠在前兩個鏈接的答案中自行查詢。那麼你已經擁有了一些東西而不是什麼。 – Ruben

回答

0

這種查詢可以幫助

DELETE FROM sometable WHERE TO_DAYS(NOW()) - TO_DAYS(prs_date) <= 30; 
+1

這不會在30天內刪除記錄... –

+0

我需要編寫一個過程/函數 – dev

+0

它刪除,但我需要它爲我的數據庫中的所有表,其中包括列prs_date – dev

1

看一看的DATEDIFF運營商,並與CURDATE()

DELETE FROM myTable WHERE DATEDIFF(CURDATE(), prs_date) > 30; 
+0

+1代碼格式和可讀性。 –

+0

這裏我必須從所有表 – dev

+0

中選擇一個特定的列哦。對不起,我錯過了「全部表」的部分。 – Marcus