php - 데이터베이스는 데이터 조각이 수정되었는지 어떻게 확인합니까?
大家讲道理
大家讲道理 2017-07-07 10:35:07
0
7
1575

A와 B는 동시에 같은 페이지의 데이터 집합에 액세스합니다. A는 데이터 중 하나를 수정했습니다. B의 페이지는 새로 고쳐지지 않았으므로 이때 B도 수정하기 전의 정보를 볼 수 있습니다. 이 데이터를 수정해야 합니다. 이 데이터가 수정되었음을 B에게 어떻게 알릴 수 있나요?

데이터를 수정하기 전에 마지막 수정 시간을 기준으로 데이터를 알아내는 방법을 봤습니다(업데이트 시간 = xxx, ID = xxx인 xxx에서 * 선택). 찾을 수 없다면 수정된 것입니다. 가 발견되면 수정되지 않았음을 의미합니다.

더 좋은 방법이 있는지 여쭤보고 싶습니다

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(7)
typecho

최대 절전 모드에서는 버전 번호 필드를 사용하여 낙관적 잠금이 구현되는 것을 기억합니다. 각 업데이트가 성공하면 버전 번호 필드의 값이 1씩 증가합니다.
업데이트하기 전에 먼저 데이터베이스의 버전 번호와 버전을 확인하세요. 페이지에 저장된 번호가 동일할 경우, 버전 번호가 커지면 편집 중에 다른 사용자가 데이터를 수정했다는 메시지가 표시됩니다.

물론 비관적 잠금을 사용할 수도 있습니다. 페이지 진입 시 선택...을 사용하여 기록을 잠글 수 있습니다. 이때 다른 사용자는 잠긴 기록을 동시에 편집할 수 없습니다.

伊谢尔伦

이렇게 하겠습니다. 각 변경 사항에 대해 edit_num, +1 필드를 추가하고 B를 변경해야 할 때 비교합니다.

黄舟

낙관적 잠금 낙관적 잠금 낙관적 잠금

给我你的怀抱

데이터에 버전 필드를 추가하여 낙관적 잠금 메커니즘을 구현합니다

大家讲道理

데이터 테이블에 필드를 추가하세요update_at类型为TIMESATMP,默认值为CURRENT_TIMESTAMP, 다른 필드는 변경할 필요가 없습니다.
데이터가 업데이트될 때마다 값이 자동으로 업데이트됩니다

女神的闺蜜爱上我

이 데이터에 버전 필드를 추가하세요. 버전 번호는 기본적으로 0부터 시작합니다. 수정되지 않으면 자동으로 증가합니다. 제출할 때마다 이 버전이 데이터베이스의 버전과 일치하는지 확인하세요.

为情所困

xxx 테이블에 버전 번호 필드를 추가하세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿