mysql触发器

格式为:

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    TRIGGER `ly_mt_tsjy_yh`.`addLoginAndUser` AFTER INSERT
    ON `ly_mt_tsjy_yh`.`login_temp`
    FOR EACH ROW BEGIN
INSERT course_sc.`login_info`(schoolId,loginName,loginPass,roleId,creDate) VALUE(new.schoolId,new.number,'123456',new.roleId,NOW());
INSERT course_sc.user_info(number,NAME,sex) SELECT number,NAME,sex FROM ly_mt_tsjy_yh.`login_temp` WHERE number='19920611';
    END$$

DELIMITER ;

注意区分before和after,当执行单个插入操作时用before只执行了第一个insert语句,第二个不知道为什么就不会执行,后面改成了after,就OK了。大批量的执行insert的时候用before又很正常,这是为什么呢?

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(sql,mysql)