只有在mysql的insert触发器之后插入新id时才更新

hyrbngr7  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(211)
{  
 UPDATE ALL_STUDENTS a SET EMAIL = 
(SELECT email FROM STUDENTS WHERE 
locate(upper(STUDENTS_NAME),upper(a.STUDENTS_NAME)) 
and (a.INSTITUTE_NAME_1= INSTITUTE_NAME 
 or  a.INSTITUTE_NAME_2= INSTITUTE_NAME 
  or a.INSTITUTE_NAME_3=INSTITUTE_NAME 
    or a.INSTITUTE_NAME_4=INSTITUTE_NAME 
       or a.INSTITUTE_NAME_5=INSTITUTE_NAME 
          or a.INSTITUTE_NAME_5=INSTITUTE_NAME 
           and a.INSTITUTE_NAME_6=INSTITUTE_NAME)
            AND upper(DATE_OF_BIRTH)=upper(a.DATE_OF_BIRTH)  LIMIT 1 )

    }

这是我的查询,如果在students表中插入任何新行,则应该执行该查询。但是这个查询需要很多时间,因为它再次从第一个id开始匹配所有的条件(这是没有必要的,因为他们的电子邮件已经更新了)。我习惯于执行这个查询为新行或新的id只插入

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题