Table enrollments
-----------------
id classId userId
-- ------- ------
1 1 1
-- ------- ------
在此状态之后:要拒绝每次再次插入{
classId=1
,userId=1
}如果用户插入相同的
classId
和userId
,则应拒绝插入。我已经试过了:
INSERT INTO enrollments(classId, userId)
VALUES('{$classId}', '{$userId}')
WHERE
NOT EXISTS(SELECT NULL FROM
enrollments WHERE
classId='{$classId}' AND userId='{$userId}')
最佳答案
将classId
和userId
组合为唯一的,因此如果前面表中存在,则不能插入相同的classId
和userId
。
ALTER TABLE enrollments
ADD CONSTRAINT UC_Person UNIQUE (classId,userId);