我正在考慮如何最好地在一個應用程序,它是由MySQL支持實施跟蹤審覈。一些系統訪問相同的數據庫和表,所以我認爲觸發器將是最好的解決方案。有沒有辦法從MySQL的子查詢中獲得field => value對?
不過,我不想手動編寫爲每個表觸發,所以我在尋找自動登錄的字段名稱和數據每次插入/刪除。
喜歡的東西:
INSERT INTO `audits` SET
`table_name` = 'jobs',
`table_key` = OLD.`id`,
`changed_at` = NOW(),
`notes` = (SELECT * FROM NEW);
然而,子查詢將返回一行結果集,這不能被視爲字符串。我想要一個功能,將採取該行並將其轉換爲:
"id = 1, name = 'something', another_field = 'data'"
或類似的東西。
編輯:這裏主要的一點是,我不希望有在各個領域中的每一個表類型。有超過120張桌子,有些桌子超過100個。如果在MySQL本身中不可能,我想我會編寫一個小程序來旋轉每個表和字段併爲我生成SQL。
的一點是,我不希望有在各個領域中的每一個表類型。有超過120張桌子,有些桌子超過100個。 如果這是不可能的,我想我得寫一個小程序,以各表和字段旋轉過來,生成SQL我。 – Drarok 2009-06-24 13:43:50