假設我有一行a,b,c, d & time_stamp
字段,其中a
是唯一鍵,而d
表示「已刪除」行(我並不真正刪除,因爲我想要保持它的審計線索)。如何用最新的時間戳更新行
如果我修改行,我不會只是更新,因爲我想保持審計線索。相反,我會將最接近的行標記爲被刪除,然後插入一個新行(我希望我已經清楚地描述了這一行)。
現在,(如何)我可以用一個SQL staement更新最近一行(by time_stamp)where a =?
也許像
UPDATE <table>
SET d="Y"
WHERE a=<some value> AND time_stamp=MAX(time_stamp)
是正確的?它能做得更好嗎?感謝您的幫助
你說'a'是唯一的關鍵,所以你可以單獨使用它在where子句 –
+1的評論。我只記得它不再是單一的。它曾經是,但是爲了添加auti trail,我不再刪除行,只是將「已刪除」字段標記爲「Y」,而不是添加新行。 – Mawg