>  Q&A  >  본문

php - 데이터베이스는 데이터 조각이 수정되었는지 어떻게 확인합니까?

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

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

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

大家讲道理大家讲道理2635일 전1531

모든 응답(7)나는 대답할 것이다

  • typecho

    typecho2017-07-07 10:37:07

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

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

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-07-07 10:37:07

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

    회신하다
    0
  • 黄舟

    黄舟2017-07-07 10:37:07

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

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-07-07 10:37:07

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

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-07-07 10:37:07

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

    회신하다
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-07 10:37:07

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

    회신하다
    0
  • 为情所困

    为情所困2017-07-07 10:37:07

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

    회신하다
    0
  • 취소회신하다