我有一個數據表和一個存檔表。原子[移至其他表格,然後刪除原來的數據]
web應用程序倒數據到數據表,每隔一小時和檔案它在存檔表(該保持數據表小,快一起工作)cron作業拉出來的數據。
在我看來有兩個psudo-SQL查詢來運行:
INSERT Archive SELECT * FROM Data;
&
DELETE FROM Data;
不過,我只是想刪除已成功複製的數據,如果複製失敗我希望它保持一致的狀態,數據既不會被半移動也不會被刪除。
什麼是正確的方法來做到這一點?
一些數據庫系統是在交易過程中的查詢並不一致,僅在更新,所以「從數據中刪除」可能會或可能不會刪除任何東西,這是插入後添加,這就是爲什麼我建議在刪除中使用查詢。 – 2010-05-20 16:02:21
我想你打算從子查詢中的歸檔表中選擇:'從primary_key中刪除數據(從歸檔中選擇primary_key);' – 2010-05-20 20:52:40
另外,'begin transaction'不是有效的MySQL命令。正確的命令是「開始事務」。 – 2010-05-20 20:55:39