INSERT语句中mysql中的计算列

SCd*_*CdF 2 mysql sql database

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

CREATE TABLE `log` (
`id` INTEGER NOT NULL AUTO_INCREMENT ,
`date` DATETIME NOT NULL ,
`count` INTEGER NOT NULL ,
PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)

每当我插入时,是否可以为我计算计数列?

例如,做一些事情:

INSERT INTO log (date='foo');
Run Code Online (Sandbox Code Playgroud)

并计算由mysql计算.

显然,我可以通过查询获取计数并插入它来自己完成,但这会更好.

Joe*_*ney 6

当通过插入,更新或删除更改表时,触发器是用于注释数据的最佳工具.

要使用当前日期自动设置日志中新行的日期列,您需要创建一个如下所示的触发器:

create trigger log_date before insert on log 
for each row begin
   set new.date = current_date()
end;
Run Code Online (Sandbox Code Playgroud)