트리거 및 제약 조건을 사용하여 MySQL의 레코드 수 제한
P粉807397973
P粉807397973 2023-11-14 13:35:02
0
4
1033

사용자 ID와 가장 친한 친구의 사용자 ID를 저장하는 BFFs라는 테이블이 있는데 각 사용자에 대해 가장 친한 친구 3명으로 테이블을 제한하고 싶습니다.

테이블 구조가 다음과 같다면:

으아악

기록은 다음과 같습니다:

으아악

이 경우 ID가 3286인 사용자는 새 레코드를 가질 수 없습니다(예: 3286, xyzt).

이 트리거를 작성했지만 확실하지 않습니다.

으아악

어설션이나 트리거를 통해 관계형 테이블에서 이를 어떻게 다시 강화해야 합니까?

감사합니다

P粉807397973
P粉807397973

모든 응답(5)
P粉113938880

DRI를 활용하여 규칙을 적용하는 ypercubes의 답변 외에도 MIN을 사용하여 LEFT JOIN을 수행하여 사용자 ID당 3개의 테이블에서 1, 2 또는 3의 다음을 가져올 수도 있습니다.

徐涛

소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파

徐涛

소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파 소파

P粉769413355

정확히 3개의 행을 포함하는 참조 테이블에 다른 열 FriendNumber과 외래 키 제약 조건을 추가합니다.

으아아아

그런 다음 다음을 추가할 수 있습니다.

으아아아

또는 @gbn이 제안한 대로 다음과 같이 합니다(따라서 열이 자동으로 채워집니다):

으아아아
徐涛

아사파는 법을 준수하고 메시지를 보낸다 아사파는 법을 준수하고 메시지를 보낸다 아사파는 법을 준수하고 메시지를 보낸다 아사파는 법을 준수하고 메시지를 보낸다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿