【发布时间】:2016-02-18 02:11:15
【问题描述】:
如何添加约束来强制同一张表中两列的值相同?
我希望学生班级成绩与学生成绩相匹配。
/*Student Grade = Student Class Grade constraint "BEFORE INSERT" */
delimiter //
CREATE TRIGGER StCGradeCheckBIN BEFORE INSERT ON STUDENT
FOR EACH ROW
BEGIN
IF new.Class_Grade <> Grade THEN
SIGNAL SQLSTATE '10000'
SET MESSAGE_TEXT = 'Error while filling the Class Grade faild! It is must match the Student.Grade feild';
END IF;
END;
// delimiter ;
/*Student Grade = Student Class Grade constraint "BEFORE UPDATE" */
delimiter //
CREATE TRIGGER StCGCheckBUP BEFORE UPDATE ON Student
FOR EACH ROW
BEGIN
IF new.Class_Grade <> Grade THEN
SIGNAL SQLSTATE '10000'
SET MESSAGE_TEXT = 'Error while Updating the Class Grade feild! It is must mathc the Student.Grade feild';
END IF;
END;
// delimiter ;
此触发器不起作用,它在插入 STUDENT 表期间导致此错误
Error Code: 1054. Unknown column 'Grade' in 'field list'
使用mysql工作台6.3
提前致谢
【问题讨论】:
标签: mysql sql mysql-workbench workbench