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