찾다

 >  Q&A  >  본문

트리거 및 제약 조건을 사용하여 MySQL의 레코드 수 제한

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

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

으아악

기록은 다음과 같습니다:

으아악

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

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

으아악

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

감사합니다

P粉807397973P粉807397973384일 전1018

모든 응답(4)나는 대답할 것이다

  • P粉113938880

    P粉1139388802023-11-15 12:52:39

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

    회신하다
    0
  • 徐涛

    徐涛2023-11-15 17:38:31

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

    회신하다
    0
  • 徐涛

    徐涛2023-11-15 17:42:09

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

    회신하다
    0
  • P粉769413355

    P粉7694133552023-11-15 00:32:43

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

    으아아아

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

    으아아아

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

    으아아아

    회신하다
    0
  • 徐涛

    徐涛2023-11-15 17:36:28

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

    회신하다
    0
  • 취소회신하다