데이터베이스의 테이블을 1 개 액세스하는 2 개의 프로그램 인스턴스가 있습니다.
표 points
재생기는 첫 번째 인스턴스를 사용하여 테이블에 자신의 포인트 (예를 들어, 포커)를 저장하고자하는 경우한 번만 삽입하십시오
game | player1 | player2
--------|-----------|-----------
Poker | 5 |
Skat | 8 | 4
Bridge | | 10
, 그것은 포커 이미이 있는지 여부를 확실히 만들 수있다. 그렇지 않은 경우, player1의 포인트와 함께 포커가 삽입됩니다. 그러나 player2에 의해 Poker가 이미 삽입 되었다면 player1의 포인트 만 삽입해야합니다 (행은 변경해야합니다).
어떻게 게임의 모든 종류의 단 한번 만 포인트가 삽입 (변경)되어,이 경우 삽입되어 있는지 확인 할 수 있습니까?
제 생각에는 열 game
은 고유해야합니다.
내 솔루션은 처음에 게임의 종류를 쿼리하고 행의 수를 확인하는 것입니다. 0 행이 있다면, 게임과 포인트를 삽입하십시오. 이미 1 행이 있다면, 점만 삽입하십시오.
하지만 더 나은/더 빠른 해결책이 있습니다. 처음에는 질문을하지 않아도됩니까?
어쩌면 당신은 당신의 데이터베이스 디자인을 재고해야한다. 더 많은 사용자를 추가하는 경우'users','games' 및 상호 참조 테이블'user_game'에 대한 테이블을 갖는 것이 좋습니다. – dgw
알아, 이건 단지 예일 뿐이야. 어쨌든 고마워! – user1170330
18 항상 ...... –