我正試圖製作一個最小化冗餘數據的實驗性Web應用程序。 我已成立了像這樣三個示例表:PHP MySQL將數據插入到多個表中
Table one
ID | created_at (unix timestamp) | updated_at (unix timestamp)
Table two
ID | Foreign Key to table one | Title
Table three (pages)
ID | Foreign Keys to both table one and two | Content | Metadata
的想法是,在應用程序中創建的一切都會有一個創建/編輯時間。
很多(但不是全部)的東西都會有一個標題(例如一個頁面或一個頁面的部分)。最後,有些東西將具有特定於自己的屬性,例如頁面的內容和元數據。
我試圖找出將數據輸入到多個表的最佳方法。我知道我可以從PHP執行多個插入查詢,跟蹤當前事務中創建的行,並在事務的後期部分失敗時刪除這些行。但是,如果PHP腳本完全死亡,則可能會在所有刪除操作完成之前停止。
MySQL是否有任何允許插入查詢被拆分的內置邏輯?觸發器能夠處理這種類型的事務,還是超出了它的能力?
任何意見,想法或想法將不勝感激。
謝謝!
您意識到,當用戶將標題更改爲2+次時,您無法確定哪個是原始的?頁面變得越來越糟......它也會人爲地誇大你的數據,存儲檔案版本 - 這是可以的,假設你想支持恢復到以前的版本。 – 2009-10-17 18:54:23