有沒有辦法在SQL中插入一行到期(c.f.你可以插入一個新的鍵,在一分鐘內用Memcached過期)?SQL:插入到期的行
上下文是,我想要一個集成測試插入行到數據庫中,但我不希望自己刪除它們,因爲它被許多人共享。這些刪除查詢必須是手動的,否則它們可能不會運行,或者它們可能具有災難性的拼寫錯誤等。如果可以的話,我希望系統爲我做這件事(即自動且高效並經過良好測試)。
(我想這是不是SQL標準的一部分,答案是否定的。)
相關:SQL entries that expire after 24 hours
相關:What is the best way to delete old rows from MySQL on a rolling basis?
背景:我不能做任何修改數據庫架構或任何關聯的基礎架構。
你的假設可能是正確的;開箱即用的SQL標準沒有任何內容。 –
只是一個想法:添加一個觸發器,基於將輸入數據的用戶存儲到表(假設他們只進行測試)和row_ID或該行的某個唯一標識符。寫入一個作業來處理表中的條目,刪除存儲表中記錄的表單源,如果成功則刪除存儲表中的條目。監視以確保超過24小時的記錄不在新表中。 – xQbert
我認爲你所要求的是實現[時間數據庫](http://en.wikipedia.org/wiki/Temporal_database)。您需要使用'有效時間'來在到期後停止使用行。 – user2989408