首页 > 代码库 > MYSQL trigger 个人记录

MYSQL trigger 个人记录

同学要写个trigger,稍微帮他研究了下

以下主要是个人猜想理解的

主要讲update

我们在创建trigger时,数据库会对创建了trigger的表进行事件监听。

当表中的一条记录发生update操作的时候:

- 数据库会在执行update之前,使用old来存储旧的记录。

- 执行update。

- update成功后,再使用new来存储(或指向)新的记录。

如此一来,我们就可以通过old.字段名来访问旧的记录,通过new.字段名来访问新的记录。old和new都特指update的表中的记录。

看到网上有人说update的时候,会生成两个表,一个是deleted一个是inserted,应该是对的。

trigger的实际应用好像挺少?好像一般都是通过应用程序来实现trigger的操作,感觉更简单和灵活。

更具体的原理,等有空的时候再研究。先稍微记录一下。

MYSQL trigger 个人记录