我創建了一個更改日誌數據庫,它與我的活動數據庫完全相同,除了它在末尾具有更改的DATE字段。從一個表插入所有行到另一個+時間戳在結尾
數據庫基本上是一個主鍵ID和大約50個其他各種數據類型的列。我在php中使用的腳本是它試圖插入新的ID,如果它獲得重複主鍵的錯誤消息,那麼它應該得到該行,將它作爲最終日期值插入到我的備份數據庫中,並使用curdate()調用,從我的第一個數據庫刪除條目,然後插入新條目。
我已經完成了腳本的所有其他部分,除了必須插入第一個表中的所有內容+ curdate()的額外列之外的部分。或者,如果我有一個更好的解決方案,當存在相當多的行時,如果有重複的主鍵進入備份數據庫,請分享它。
可以顯示一些代碼?如果您正在覆蓋數據庫中現有的Cols集,則需要使用UPDATE,而不是INSERT,否則將失敗。至於當前日期,你可以在你的mysql查詢中使用「NOW()」 – John 2011-06-16 14:25:52
你的意思是刪除並插入代碼?它只是從表中刪除id = someid,然後插入表值(等等)更新的一個問題是,我不知道如何更新所有列而不明確聲明所有的名稱。 – NorthGuard 2011-06-16 14:37:14
我相信你可以有一個時間戳類型的字段,它會自動獲取當前的時間戳,如果你將NULL傳遞給它,我在4年左右沒有使用MySQL,所以我不知道 – 2011-06-16 14:38:26