mysql - 同一个表上的 AFTER INSERT 触发器

标签 mysql triggers

我有一个包含 4 列的表格:

ID, start_time, time, end_time

现在,如果我想在表中插入行,那么 end_time 应该自动填充。所以我只需要提供两个值(ID 会自动插入):start_time 和 time。

为此,我使用 DATE_ADD 函数。

date_add(start_time, interval time minute)

我想使用 AFTER INSERT 触发器来执行此操作,但我不知道如何创建该触发器。

提前致谢!

编辑:DATE_ADD

最佳答案

您无法更新正在执行触发器的同一个表。 所以你需要使用 before insert

delimiter //
create trigger table_before_insert before insert on table_name
for each row
begin
 set new.end_time = date_add(/*your increment logic here */);
end;//

delimiter;

您可以使用 new 访问所有值,并根据需要在 date_add 函数中使用它们。

关于mysql - 同一个表上的 AFTER INSERT 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29797998/

相关文章:

mysql - 如何在 Mysql WorkBench 中进行查询?

php - 在嵌套关系上添加 where 条件

php - 如何获取选定的复选框值以在 PHP 中的 mysql 查询中使用

c# - 使用 Entity Framework 和 MVC4 SQL Server 插入后触发器不触发

Javascript触发器选择开始

java - MySQL更新触发错误;在更新的记录中设置值

PHP fatal error : Call to undefined function LAST_INSERT_ID()

MySQL 数据库说明

MySQL:如何在触发器中设置默认用户

php - MySQL触发器创建