현재 위치: > 최신 기사 목록> mysqli :: 새로 새로 고침 Mysqli_refresh_tables가 상수

mysqli :: 새로 새로 고침 Mysqli_refresh_tables가 상수

gitbox 2025-05-29

1. mysqli :: 새로 고침이란 무엇입니까?

mysqli :: 새로 고침은 mysqli 클래스의 방법이며 그 정의는 다음과 같습니다.

 public mysqli::refresh (int $options): bool

정수 매개 변수 $ 옵션 , 새로 고침 동작을 제어하는 ​​데 사용되는 하나 이상의 상수의 조합을 수신합니다. 예를 들어:

  • mysqli_refresh_grant

  • mysqli_refresh_log

  • mysqli_refresh_tables

  • mysqli_refresh_hosts

  • mysqli_refresh_status

  • mysqli_refresh_threads

이 상수는 예를 들어 비트 와 같이 조합하여 사용될 수 있습니다.

 MYSQLI_REFRESH_TABLES | MYSQLI_REFRESH_STATUS

2. mysqli_refresh_tables 란 무엇입니까?

mysqli_refresh_tables는 데이터 테이블 캐시를 새로 고치는 데 사용되는 일정입니다. 코드 실행 중 (예 : 필드 추가, 인덱스 수정 등)와 같은 테이블 구조를 변경하면 현재 연결이 이러한 변경 사항 즉시 인식 할 수 있기를 바랍니다.

이것은 오랫동안 실행되거나 스크립트를 통해 테이블 ​​구조를 정기적으로 유지하는 프로그램에 매우 유용합니다.


3. mysqli :: 새로 사용하는 방법 및 mysqli_refresh_tables를 함께 사용하는 방법

다음은 mysqli_refresh_tables가 상수로 mysqli :: 새로 고침 메소드를 사용하는 방법을 보여주는 완전한 예입니다.

 <?php

$mysqli = new mysqli("localhost", "username", "password", "database");

// 연결을 확인하십시오
if ($mysqli->connect_error) {
    die("연결이 실패했습니다: " . $mysqli->connect_error);
}

// 데이터 테이블 캐시를 새로 고치십시오
if ($mysqli->refresh(MYSQLI_REFRESH_TABLES)) {
    echo "데이터 테이블 새로 고침 성공。\n";
} else {
    echo "데이터 테이블 새로 고침이 실패했습니다。\n";
}

$mysqli->close();

이 예에서는 로컬 데이터베이스 서버에 연결 한 다음 새로 고침 메소드를 호출하고 mysqli_refresh_tables 를 통과하고 성공 후 프롬프트를 출력합니다.

여러 가지 새로 고침 옵션을 결합 할 수도 있습니다.

 $mysqli->refresh(MYSQLI_REFRESH_TABLES | MYSQLI_REFRESH_STATUS);

4. 사용 시나리오의 예

1. 자동 배포 스크립트에서

일부 자동 배포 프로세스에서는 스크립트가 데이터베이스 구조를 업데이트 한 직후에 쿼리를 실행할 수 있습니다. 캐시 된 메타 데이터로 인한 오류를 피하기 위해 새로 고침 메소드를 호출하면 최신 구조가 사용되도록 할 수 있습니다.

2. 동적 데이터 구조 시스템

예를 들어, 일부 SAAS 플랫폼을 사용하면 사용자가 필드를 동적으로 추가하거나 테이블 구조를 확장 할 수 있습니다. 이 시스템에서는 MySqli :: Refresh (mysqli_refresh_tables)를 사용하여 응용 프로그램 계층 코드가 적시에 구조적 변화를 인식 할 수 있습니다.

3. MySQL 허가 새로 고침

이 기사에서 주로 mysqli_refresh_tables에 대해 논의하지만, 스크립트를 사용하여 권한을 수정하기 위해 (예 : 승인 된 사용자)를 사용하여 mysqli_refresh_grant를 사용하여 권한 테이블을 새로 고칠 수 있습니다.

 $mysqli->refresh(MYSQLI_REFRESH_GRANT);

5. 주목할만한 것들

  • 새로 고침 메소드는 데이터베이스의 실제 데이터 또는 구조를 변경하지 않으며 MySQLI 클라이언트가 내부 캐시를 다시로드하도록 강요합니다.

  • 모든 MySQL 서버 구성이 서버 버전 및 설정에 따라 모든 유형의 새로 고침 작업을 지원하는 것은 아닙니다.

  • 새로 고침 메소드를 호출 할 때 유효하지 않은 일정한 조합으로 전달되면 오류가보고되지 않을 수 있지만 역할은 없습니다.