假设我想要一个表来记录其他表中的日期和列数(或者实际上是任何种类的数学/字符串concat等)。
CREATE TABLE `log` ( `id` INTEGER NOT NULL AUTO_INCREMENT , `date` DATETIME NOT NULL , `count` INTEGER NOT NULL , PRIMARY KEY (`id`) );
每当执行插入操作时,是否可以为我计算计数列?
例如做类似的事情:
INSERT INTO log (date='foo');
并具有由mysql计算的计数。
显然,我可以自己做一个查询来获取计数并插入计数,但是这样做会更好。
当通过插入,更新或删除表来更改数据时,触发器是注释数据的最佳工具。
要使用当前日期自动将日志中新行的日期列设置为当前日期,您将创建一个看起来像这样的触发器:
create trigger log_date before insert on log for each row begin set new.date = current_date() end;