在mysql中每年创建一个触发器

在mysql中每年创建一个触发器,mysql,database,triggers,execute,Mysql,Database,Triggers,Execute,我需要每年创建一个触发器,并使用mysql更新利润。。 与这些问题相关的表格是 create table annual_document( documment_id int not null AUTO_INCREMENT, income decimal(4,2), expence decimal(4,2), PRIMARY KEY(documment_id) ); 我用不同的方法尝试了这个。但是我无法创建每年执行一次的触发器。大多数文档都描述了每年执行一次的事件。不是触发器。但

我需要每年创建一个触发器,并使用mysql更新利润。。 与这些问题相关的表格是

create table annual_document(
  documment_id int not null AUTO_INCREMENT,
  income decimal(4,2),
  expence decimal(4,2),
  PRIMARY KEY(documment_id)
);
我用不同的方法尝试了这个。但是我无法创建每年执行一次的触发器。大多数文档都描述了每年执行一次的事件。不是触发器。但是我需要一个触发器


有人能帮帮我吗?

这可能就是你要找的:

CREATE EVENT myevent
ON SCHEDULE
  EVERY 1 year 
DO
  call dd

其中,
dd
是一个编写在其中的过程,是一个创建触发器的代码…

触发器是由数据库事件触发的,而不是由时钟事件触发的。@我的大学作业问题中的MCNET有“每年创建e触发器并更新利润”。如果这是家庭作业,并且您绝对必须使用触发器,然后你需要考虑触发什么。(顺便说一句,“每年创建一个触发器”很奇怪,可能是一个翻译问题;问题是否真的是“每年触发一个触发器”?)无论如何,对于复杂的规范来说,一个糟糕的解决方案是创建一个事件,定期在给定的表中执行一些db操作,该操作触发触发器,从而运行代码。因此,您可以使用基于时钟的事件来引发可以触发触发器的表事件。在现实世界中,使用@0xFFFFFF的答案。如果分配是针对MySQL的,只需使用事件。甚至MySQL文档也声明:“这种类型的计划任务有时也被称为“临时触发器”,这意味着这些是随着时间推移而触发的对象。”@ypercubeᵀᴹ 没错。我接受你的回答。谢谢。据我所知,上面写着“每年创建一个触发器并更新利润。”没有提到触发器应该由触发器创建。它是关于每年自动创建一个触发器,不管以何种方式@麦克奈特