mysql的触发器if语句语法的问题。

表的信息AttendIDint4否考勤编号EmployeeIDint4否员工编号BreachTimedatetime8可到达时间RecorderIDint4可记录者编号T... 表的信息AttendID int 4 否 考勤编号
EmployeeID int 4 否 员工编号
BreachTime datetime 8 可 到达时间
RecorderID int 4 可 记录者编号
Type nchar 4 否 考勤类型
AskReview bit 可 请求重新审核
Date Datetime 8 否 日期
约束表 tblAttendance 中的 RecorderID 不可与 EmployeeID 相同;Type 字段只能取“缺勤”、“迟到”、“早退”。AskReview字段默认值为0,即未请求重新审核
我的代码却一直报错
DELIMITER $$
CREATE TRIGGER TriggerAttendance BEFORE INSERT
ON tblAttendance FOR EACH ROW
BEGIN
IF (NEW.RecorderID=NEW.EmployeeID) THEN
UPDATE tblAttendance SET RecorderID=0;
IF (NEW.Type!=('缺勤' or '迟到' or '早退')) THEN
UPDATE tblAttendance SET RecorderID=0;
IF (NEW.AskReview!='0') THEN
UPDATE tblAttendance SET RecorderID=0;
ELSE
INSERT INTO tblAttendance
VALUES (AttendID=NEW.AttendID,EmployeeID=NEW.EmployeeID,BreachTime=NEW.BreachTime,
RecorderID=NEW.RecorderID,Type=NEW.Type,AskReview=NEW.AskReview,Date=NEW.Date);
END IF;
END $$;
展开
 我来答
野人无事不言L
2016-06-13 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144亿
展开全部
你这个触发器是针对哪一个表的触发器. 因为 MySQL 里面。 触发器不可以 查询/修改 自己当前这个被触发的表。
追问
我在提问那里给了表的信息,就是为这个表建触发器
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式