weixin_43944282 2019-10-15 15:38 采纳率: 100%
浏览 392

mysql中sql语句修改的触发器如何触发

大神们,小弟是第一次接触触发器,用的工具是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总是写不对,百度了很多,还是不行,还望各路大神帮帮忙,教我写一个。

  • 写回答

1条回答 默认 最新

  • 一个没有毅力的人 2019-10-16 14:17
    关注

    我说话比较直,望你不要介意,首先教你这个是可以的,但是你直接给表出来,也没有给你写的触发器,你这是想让我们直接给你一个触发器代码吗?你这个都不是问题,而是需求,你想要一个触发器,望大神帮我写一个,你应该把你写的触发器发出来,让我们可以去帮你订正,如果直接让我们写一个,我觉得不会有多少人想要回答你这个问题,包括我。再说多一点,你的问题标题跟你的描述完全不相符,你仔细去看看。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!