PTS 열 업데이트를 위한 비기능 MySQL 트리거 문제 해결
사용자는 겉으로는 간단해 보이는 MySQL 트리거가 실행되지 않는 수수께끼 같은 문제에 직면합니다. 도움을 구하도록 유도합니다. 트리거의 목적은 "played_games" 열의 변경 사항을 기반으로 "pos_table" 테이블의 "PTS" 열을 업데이트하는 것입니다.
코드를 자세히 조사해 보면 "played_games" 열이 올바르게 실행될 때 트리거가 올바르게 작동해야 함을 알 수 있습니다. 열이 수정되었습니다. 그러나 추가 문제 해결 시 다음과 같은 오류 메시지가 표시됩니다. "이 저장 함수/트리거를 호출한 문에서 이미 사용했기 때문에 저장된 함수/트리거에서 테이블 pos_table을 업데이트할 수 없습니다."
이 오류는 다음을 의미합니다. MySQL 저장 기능 및 트리거의 제한으로 인해 원하는 동작이 방해될 수 있습니다. MySQL 설명서에 따르면 이러한 함수와 트리거는 이를 호출한 문에서 읽기 또는 쓰기에 동시에 사용되는 테이블을 수정할 수 없습니다.
잠재적인 해결 방법은 트리거 유형을 "BEFORE INSERT"로 변경하고
또한 저장된 열을 통하지 않고 표시 시간에 사용자가 의도한 계산을 직접 수행할 수 있으므로 코드가 단순화되고 트리거 관련 문제가 제거됩니다.
위 내용은 PTS 업데이트를 위한 MySQL 트리거가 'Can't update table pos_table...' 오류와 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!