大神们,小弟是第一次接触触发器,用的工具是navicat for mysql
目前的设计草表是这样的:
个人每日考勤打卡记录表格:
CREATE TABLE `tb_customer_clock_in_everyday` (
`customer_clock_ in_everyday_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '个人考勤打卡id',
`enterprise_id` int(11) NOT NULL,
`department_id` int(11) NOT NULL COMMENT '所属部门id',
`customer_clock_in_month_id` int(11) NOT NULL COMMENT '个人每月考勤打卡记录id',
`clock_ in _morning_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '早打卡时间',
`clock_ in_night _time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '晚打卡时间',
`attendance_status` int(11) DEFAULT NULL COMMENT '状态(0正常打卡,1迟到,2早退,3请假,4外勤,5缺卡,6旷工,7休息8 补卡)',
`create_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`create_by` int(11) DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`update_by` int(11) DEFAULT NULL,
PRIMARY KEY (`customer_clock_ in_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
个人每月考勤打卡记录表格:
CREATE TABLE `tb_customer_clock_in_month` (
`customer_clock_in_month_id` int(11) NOT NULL AUTO_INCREMENT,
`enterprise_id` int(11) DEFAULT NULL,
`customer_clock_ in_id` int(11) DEFAULT NULL COMMENT '个人考勤打卡id',
`punch_in_times_per_month` int(11) DEFAULT NULL COMMENT '每月打卡次数',
`average_monthly_ hours` double DEFAULT NULL COMMENT '每月平均工时',
`days_of_attendance_per_month` int(11) DEFAULT NULL COMMENT '每月出勤天数',
`monthly_shift` int(11) DEFAULT NULL COMMENT '每月出勤班次',
`leave_early_every_month` int(11) DEFAULT NULL COMMENT '每月早退次数',
`number_of_tardiness_per_month` int(11) DEFAULT NULL COMMENT '每月迟到次数'
`number_of_card_shortages_per_month` int(11) DEFAULT NULL COMMENT '每月缺卡次数',
`number_of_absenteeism_per_month` int(11) DEFAULT NULL COMMENT '每月旷工次数',
`monthly_field_trips` int(11) DEFAULT NULL COMMENT '每月请假次数',
`number_of_overtime_per_month` int(11) DEFAULT NULL COMMENT '每月加班时间',
`rest_days_per_month` int(11) DEFAULT NULL COMMENT '每月休息次数',
`field_days_per_month` int(11) DEFAULT NULL COMMENT '每月外勤天数',
`number_of_days_off_per_month` int(11) DEFAULT NULL COMMENT '每月请假天数',
`status` int(11) DEFAULT NULL,
`create_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`create_by` int(11) DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`update_by` int(11) DEFAULT NULL,
PRIMARY KEY (`customer_clock_ in_month_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我的触发器思路是这样的:当个人每日考勤卡的状态修改为3时,触发器将每月考勤记录表的每月早退次数+1,可是我的sql总是写不对,百度了很多,还是不行,还望各路大神帮帮忙,教我写一个。