使用mysql语句在choose表上添加个针对UPDATE事件的触发器,限制成绩字段的值大于等于0且小于等于100,如果不满足这一限制,则使用SIGNAL引I发错误条件并指定可读的错误消息。预期输出:ERROR 1644 (45000) at line 1: 188您所输入的分数必须是0-100 id student_id course_id choose_time score 3 201810101102 1001 2018-09-03 00:00:00 88 4 201810101102 1002 2018-09-01 00:00:00 88
下面是在choose表上添加一个针对UPDATE事件的触发器,限制成绩字段的值大于等于0且小于等于100,并使用SIGNAL引发错误条件并指定可读的错误消息。
use course;
/****请在此编写代码,操作完毕之后点击评测******/
/**********Begin**********/
DELIMITER $$
CREATE TRIGGER fku BEFORE UPDATE ON choose FOR EACH ROW BEGIN
IF (NEW.score < 0 or NEW.score > 100) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '188您所输入的分数必须是0-100';
END IF;
END$$
DELIMITER ;
/**********End**********/
这个触发器在每次UPDATE操作执行前被触发,检查新的成绩值是否在0~100的范围内。如果不是,则使用SIGNAL引发SQLSTATE '45000'错误条件,并指定一条可读的错误消息。在客户端执行UPDATE操作时,会收到这个错误消息并回滚操作。