post_id 및 user_id를 테이블에 저장하는 투표 스크립트를 사용하여 특정 사용자가 이미 게시물에 투표했는지 여부를 확인하고 나중에이를 거부 할 수 있습니다.투표 스크립트, 데이터베이스 쿼리 간소화 가능성
이렇게하려면 다음 3 가지 쿼리를 수행하고 있습니다.
SELECT user_id, post_id from votes_table where postid=? AND user_id=?
그 후, 어떤 행을 반환하지 않는 경우 :
UPDATE post_table set votecount = votecount-1 where post_id = ?
그런 다음
SELECT votecount from post where post_id=?
는이 작업을 수행하는 더 나은 방법을 웹 페이지
에 새로운 votecount을 표시하려면? 3 개 쿼리가 심각 투표 테이블에서 사용자의 투표 경험
편집
- 둔화되어, vote_id는 포스트 테이블에서 기본 키
- 입니다 post_id를 기본 키입니다.
- 다른 모든 제안을 빠르게 처리 할 수 있습니까?
왜 투표 수에서 1을 뺍니까? Vote_table에 레코드처럼 이미 뭔가를 추가했기 때문에? –
게시물이 다운 투표 된 경우 투표 수에서 1을 뺍니다. 더 나은 제안이 있으십니까? – Sev
필자의 대답에서 언급했듯이 post_table.vote_count를 유지하지 마십시오. 카운트가 필요할 때 votes_table에서 플러스/마이너스 투표를 합산하십시오. –