要求实现:A表中不断有数据自动插入,需要做到,在新数据插入进A表之间之前,获取将要插入数值中的某一项,以此项为条件,查询另一个表B,将查询到的结果更新到A表中
相关知识:
关键字before和after用于标识触发时间,顾名思义,before代表触发器里面的命令在DML修改数据之前执行,after代表触发器里面的命令在DML修改数据之后执行。
declare定义的类似是局部变量
new在before触发器中赋值,取值;
在mysql触发器中,官方说可能使用了update会导致死循环,推荐我们直接使用new赋值变量.
我们只要利用SET new.name = _name;就可以代替update了。
注意:如图,尽量不要使用多个变量用一个名称。我在第一次写的时候,在declare中直接写的spydata_username ,全文都用的spydata_username,一直出问题,最后改为spydata_usernamee后问题才消失。文中的括号最好也要写上。