假设我想要一个表来记录其他表中的日期和列数(或者实际上是任何类型的数学/字符串连续等).
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;