>  기사  >  데이터 베이스  >  PTS 업데이트를 위한 MySQL 트리거가 'Can't update table pos_table...' 오류와 함께 실패하는 이유는 무엇입니까?

PTS 업데이트를 위한 MySQL 트리거가 'Can't update table pos_table...' 오류와 함께 실패하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-06 15:11:03279검색

Why Does My MySQL Trigger for Updating PTS Fail with

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.