이 잠금은 애플리케이션 수준이며 서로 다른 mysql 세션 간에 사용됩니다. 이는 단지 이름 잠금일 뿐이며, 사용자가 이해하는 테이블, 행 및 필드와 직접적인 관계가 없습니다. 특정 잠금은 전적으로 애플리케이션에 달려 있습니다. 이는 배타적 잠금입니다. 즉, 어떤 세션이 잠금을 보유하든 다른 세션은 잠금을 얻으려고 시도할 때 실패합니다.
예를 들어 레코드 A의 행을 잠그려면 현재 세션에서 잠금을 생성합니다get_lock("record A", 10). 이때 다른 모든 세션은 명시적으로 get_lock("record A", 10)을 호출하지 않는 한 마음대로 레코드 A에 액세스하고 수정할 수 있습니다.
즉, 잠금 확인 여부를 결정하는 것은 전적으로 애플리케이션에 달려 있습니다. 잠그고 싶다면 레코드 A에 액세스할 때 모든 세션이 명시적으로 get_lock("record A", 10)을 호출하도록 하세요. 그러면 분명히 하나의 세션만 성공할 수 있습니다. 다른 세션은 시간 초과를 기다리거나 잠금을 보유한 세션에서 release_lock를 호출한 후에만
잠금을 다시 획득할 수 있습니다.
마찬가지로 필드 열 A를 잠그려면 위와 같이 잠금을 생성get_lock("column A", 10)하세요. 간단히 말해서 잠금을 설정할지 여부를 결정하는 것은 애플리케이션에 달려 있으며 데이터베이스는 이 메커니즘만 제공합니다. 모든 사람이 동일한 잠금을 잡는지 확인하려면 첫 번째 매개변수 잠금 이름의 문자열이 다르다는 사실만을 기반으로 하므로 실수를 방지하기 위해 잠금 이름 앞에 테이블 이름과 데이터베이스 이름을 추가하는 것이 가장 좋습니다. 부상
이 잠금은 애플리케이션 수준이며 서로 다른 mysql 세션 간에 사용됩니다. 이는 단지 이름 잠금일 뿐이며, 사용자가 이해하는 테이블, 행 및 필드와 직접적인 관계가 없습니다. 특정 잠금은 전적으로 애플리케이션에 달려 있습니다. 이는 배타적 잠금입니다. 즉, 어떤 세션이 잠금을 보유하든 다른 세션은 잠금을 얻으려고 시도할 때 실패합니다.
예를 들어 레코드 A의 행을 잠그려면 현재 세션에서 잠금을 생성합니다
get_lock("record A", 10)
. 이때 다른 모든 세션은 명시적으로get_lock("record A", 10)
을 호출하지 않는 한 마음대로 레코드 A에 액세스하고 수정할 수 있습니다.즉, 잠금 확인 여부를 결정하는 것은 전적으로 애플리케이션에 달려 있습니다. 잠그고 싶다면 레코드 A에 액세스할 때 모든 세션이 명시적으로
잠금을 다시 획득할 수 있습니다.get_lock("record A", 10)
을 호출하도록 하세요. 그러면 분명히 하나의 세션만 성공할 수 있습니다. 다른 세션은 시간 초과를 기다리거나 잠금을 보유한 세션에서release_lock
를 호출한 후에만마찬가지로 필드 열 A를 잠그려면 위와 같이 잠금을 생성
get_lock("column A", 10)
하세요. 간단히 말해서 잠금을 설정할지 여부를 결정하는 것은 애플리케이션에 달려 있으며 데이터베이스는 이 메커니즘만 제공합니다. 모든 사람이 동일한 잠금을 잡는지 확인하려면 첫 번째 매개변수 잠금 이름의 문자열이 다르다는 사실만을 기반으로 하므로 실수를 방지하기 위해 잠금 이름 앞에 테이블 이름과 데이터베이스 이름을 추가하는 것이 가장 좋습니다. 부상