저는 현재 학교 프로젝트의 금지/취소 금지 기능을 연구 중입니다. 하나의 is_banned 열이있는 User 테이블이 하나 있습니다. 하나의 업데이트 쿼리를 수행하여 상태를 금지에서 금지로 변경하면 사용자가 금지되는 기간을 포함하는 값을 전달하려고합니다. 24 시간을 말해 보겠습니다. 그 일이 끝나면 자동으로 그를 언 바운드하고 싶습니다. 이것이 가능한가?x 시간 후에 어떻게 하나의 값을 자동으로 변경할 수 있습니까?
0
A
답변
1
글쎄, 금지는 아마도 일반적인 경우가 아니므로 은 이벤트를 사용할 수 있습니다. 누군가가 금지되면, 그 사람을 해산시킬 사건을 만듭니다.
나는 여전히 그 생각을 좋아하지 않습니다. unban 작업이 실행될 예정이면 데이터베이스가 다운 될 수 있습니다. 사용자는 금지 기간을 연장하여 다시 금지 될 수 있습니다.
가장 좋은 방법은 가장 최근의 금지 시간이 적용된 표 (예 : users
)의 열을 사용하는 것입니다. 그런 다음 차단이 해제 사용자를 얻을 수있는 뷰를 만들 :
create view v_users as
select u.*
from users u
where u.bantime is null or u.bantime < now() - interval 24 hour;
키는 코드가 차단이 해제 사용자가 원하는 때마다이보기를 사용하는 것입니다. 그냥 플래그하려는 경우
또는 : 나는 UPDATE 쿼리를 실행할 때마다
create view v_users as
select u.*, (u.bantime > now() - interval 24 hour) as isBanned
from users u;
관련 문제
- 1. 우리는 어떻게 복합체의 특정 시간 후에 레이블을 변경할 수 있습니까?
- 2. 어떻게 값을 변경할 수 있습니까?
- 3. '속성'은 값을 속성으로 설정 한 후에 값을 변경할 수 있습니까?
- 4. 어떻게 셀의 값을 변경할 수 있습니까? DataGridview
- 5. 어떻게 셀 값을 변경할 수 있습니까?
- 6. 제출 버튼의 값을 어떻게 변경할 수 있습니까?
- 7. 각 확인 후에 ASP.NET MVC의 AntiForgeryToken 값을 변경할 수 있습니까?
- 8. 3 시간 후에 자동으로 팝업을주고 싶습니다. 어떻게 할 수 있니?
- 9. 세그먼트보기 후에 대상보기의 값을 변경할 수 없습니다.
- 10. 특정 시간 후에 Cancan을 사용하여 사용자 계정 역할을 자동으로 변경할 수 있습니까?
- 11. 변경할 수있는 증분 값을 어떻게 변경할 수 있습니까?
- 12. SQLCommand에 SQLParameter를 추가 한 후에 SQLParameter의 값을 변경할 수 있습니까?
- 13. x 초 후에 rpc 호출 시간 초과를 설정할 수 있습니까?
- 14. POST 후에 데이터를 자동으로 되돌릴 수 있습니까?
- 15. 사용 된 X 시간 후에 만료되는 변수
- 16. JLabel을 일정 기간 후에 어떻게 변경할 수 있습니까?
- 17. 컨트롤의 정의 후에 WMSGetFeatureInfo의 buildWMSOptions를 어떻게 변경할 수 있습니까?
- 18. 인증이 성공한 후에 역할을 변경할 수 있습니까?
- 19. win32_computersystemproduct의 값을 변경할 수 있습니까?
- 20. ServerVariables의 값을 변경할 수 있습니까?
- 21. Environment.NewLine의 값을 변경할 수 있습니까?
- 22. xaml에서 값을 변경할 수 있습니까?
- 23. 인벤토리가 업데이트되면 Magento에서 재고 가용성을 자동으로 어떻게 변경할 수 있습니까?
- 24. 실행 시간 동안 변수 값을 변경할 수 있습니까?
- 25. 어떻게 변경할 수 있습니까? 변경할 수 있습니다. 스칼라 매핑?
- 26. Zeppelin에서 양식 zeppelin.x.y의 매개 변수 값을 어떻게 변경할 수 있습니까?
- 27. 어떻게 든 변수를 변경할 수 있습니까?
- 28. 어떻게 Resources.resw를 변경할 수 있습니까?
- 29. 어떻게 링크를 변경할 수 있습니까?
- 30. 어떻게 하나의 함수에서 ± sqrt (x)를 그릴 수 있습니까?
이봐,이 나를 위해 매우 열심히 여전히를, 내가이 똑바로하자, 그래서 is_banned =로 = 0 is_banned 변경하려면 1, 난 bantime라는 열을 업데이 트해야합니까? 그리고 나는 48 시간 동안 48시에합시다. –
@VeraPerrone. . . 실제로'is_banned'를 잊어 버리고'bantime'을 사용하십시오. 보기를 사용하여'is_banned'를 계산하십시오. –
위의 내용은'banned_until'을 저장하면 단축 될 수 있습니다. 이 경우 '간격 24 시간'은 생략 할 수 있습니다. – AMartinNo1