{
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只插入
暂无答案!
目前还没有任何答案,快来回答吧!