4
我試圖爲我的MySQL表創建一些觸發器來跟蹤更改。我想到了一個表像MySQL觸發器 - 總結json格式化列中的更改
CREATE TABLE IF NOT EXISTS `contacts_changes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`action` enum('insert','update','delete') NOT NULL,
`contact_id` int(6) NOT NULL,
`changes` text NOT NULL,
PRIMARY KEY (`id`)
);
其中CONTACT_ID是一個外鍵,我想監視和列的變化我想存儲使用JSON格式所做的更改表。
因此,如果我更改聯繫人表中條目的姓氏和生日,更改列應包含{"familyname": "Smith", "birthday": "1982-06-24}
。
我發現了很多使用觸發器跟蹤更改的示例,但沒有一個總結了單行單列中所做的更改。他們所做的是爲每個更改插入一個新行,即一行更改生日,另一行更改姓氏。由於我對(My)SQL語言知識的缺乏,我未能弄清楚是否有可能做一些我腦海中想做的事情,以及它是如何完成的。
任何想法或提示如何解決這個問題?
謝謝!
編輯:發表以前的編輯爲答案。
例如,你處理的情況下,當OLD.name或NEW.name爲空。 @json的插入值爲NULL。 – TechCare99 2016-09-21 16:09:51
如果New.name具有雙引號字符會怎樣? – Jaguar 2018-02-06 12:12:59