일반적으로 MySQL 또는 SQL 전문가에게 미안한 질문이됩니다. 나는 3 개 테이블이 있습니다 등이 게스트, 표준 사용자, 관리자, :여러 테이블에서 MySQL 쿼리에 문제가 발생했습니다.
- 사용자
- 페이지
- 보안을 보안 같이 여러 수준이
정수 값입니다. 따라서 기본적으로 게스트는 0이고 표준은 1, 관리자는 10입니다.
각 사용자는 보안 테이블의 검색을위한 보안 ID를 가지고 있습니다.
각 페이지는 지정된 사용자에게 표시 될 페이지를 조회 할 수있는 보안 ID가 있습니다.
현재 사용자 이름을 사용하여이 사용자가 볼 수있는 페이지를 반환하는 쿼리를 만들고 싶습니다. 따라서 기본적으로 사용자의 보안 수준보다 작거나 같은 보안 수준으로 모든 페이지를 반환합니다. 하지만 각 테이블의 ID를 보안 테이블의 고유 항목에 저장하는 것은 아닙니다.
샘플 데이터 :
사용자 테이블 :
페이지 테이블 :
을 약자로 내 DB 스키마의 스크린 샷을 첨부
보안 테이블 :
그렇게 security.level가있다이 <= 무엇을 열 어떤 테이블에있을하려고? – Mihai
페이지의 보안 수준은 사용자의 보안 수준보다 낮아야합니다. 그러나 페이지 및 사용자의 테이블에는 보안 수준이 아니라 보안 수준이 저장되며 보안 수준은 각 테이블의 ID로 조회됩니다. 관계형 DB를 모듈화하고 일관되게 유지하려고하는 구조를 수정할 수 있습니다. –