MySQL 준비된 문에 다시 준비가 필요함: "준비된 문을 다시 준비해야 합니다" 오류 문제 해결
"준비된 문이 발생하는 경우 MySQL에서 다시 준비해야 합니다." 오류는 테이블의 서버 버전과 클라이언트 버전 간의 불일치를 나타냅니다. 정의. 일반적으로 이 문제는 MySQL 저장 프로시저와 관련된 코드를 호스팅 서버로 마이그레이션한 후에 발생합니다.
오류 원인:
이 오류는 MySQL이 테이블 캐시를 유지 관리하기 때문에 발생합니다. 모든 쿼리에 대한 열 정보를 검색할 필요성을 줄여 성능을 최적화하는 데 사용되는 메타데이터입니다. 그러나 로컬 시스템과 호스팅 서버의 버전 간에 테이블 구조가 변경되면 캐시된 메타데이터가 오래되어 명령문을 더 이상 성공적으로 실행할 수 없습니다.
잠재적인 해결 방법:
MySQL 버그 #42041에서 제안된 것처럼 "table_definition_cache" 변수의 값을 늘리면 문제를 해결할 수 있습니다. 이 변수는 MySQL이 캐시할 테이블 수를 지정합니다. 캐시 크기를 늘리면 캐시된 테이블 정의와 실제 테이블 정의 간의 불일치 가능성을 줄일 수 있습니다.
지침:
SET GLOBAL table_definition_cache = <new_value>;
참조:
의 경우 MySQL의 명령문 캐싱에 대한 자세한 내용은 공식 MySQL 문서를 참조하세요. https://dev.mysql.com/doc/refman/8.0/en/statement-cache.html
위 내용은 MySQL 준비 명령문을 다시 준비해야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!