현재 위치: > 최신 기사 목록> $ errno를 사용하여 삽입 반복 기본 키 오류 (오류 번호 1062)를 잡습니다.

$ errno를 사용하여 삽입 반복 기본 키 오류 (오류 번호 1062)를 잡습니다.

M66 2025-06-02

PHP에서 MySQL 데이터베이스를 사용하는 경우 데이터를 삽입 할 때 몇 가지 일반적인 오류가 발생할 수 있습니다. 그중 하나는 기본 키 충돌 오류입니다. 즉 기존 기본 키 값을 삽입하려고 할 때 MySQL은 오류, 일반적으로 오류 번호 1062를 반환합니다.

MySQLI 확장자를 사용할 때 MySQLI :: $ errno를 통해 이러한 오류를 포착 할 수 있습니다. mysqli :: $ errno 속성은 마지막 MySQL 쿼리에서 반환 된 오류 번호를 저장합니다. 이 속성을 통해 1 차 주요 충돌을 쉽게 감지하고 그에 따라 처리 할 수 ​​있습니다.

다음은 데이터를 삽입 할 때 중복 기본 키 오류 (오류 번호 1062)를 캡처하는 방법을 보여주는 간단한 예입니다.

샘플 코드 :

 <?php
// 데이터베이스 연결 구성
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "my_database";

// 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);

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

// 데이터 삽입 SQL 성명
$sql = "INSERT INTO users (id, username) VALUES (1, 'new_user')";

// 구현하다 SQL 질문
if ($conn->query($sql) === TRUE) {
    echo "새로운 레코드 삽입 성공";
} else {
    // 중복 기본 키 오류인지 확인하십시오(오류 번호 1062)
    if ($conn->errno == 1062) {
        echo "실수: 기본 키 값을 복제합니다。";
    } else {
        echo "실수: " . $conn->error;
    }
}

// 연결을 닫으십시오
$conn->close();
?>

코드 구문 분석 :

  1. 데이터베이스 연결 : 먼저 새로운 MySQLI ()를 사용하여 데이터베이스 연결을 만듭니다. 데이터베이스의 호스트 이름, 사용자 이름, 비밀번호 및 데이터베이스 이름을 제공합니다. 연결이 실패하면 프로그램이 오류 메시지로 종료됩니다.

  2. SQL 삽입 문 : 사용자 테이블에 새 레코드를 삽입하는 간단한 삽입 문을 썼습니다. ID 열이 기본 키이고 삽입하려고 시도한 ID 값이 1 이라고 가정합니다.

  3. SQL 쿼리 실행 : $ conn-> query ($ sql) 를 통해 SQL 삽입 작업을 수행하십시오. 삽입이 성공하면 반환 값이 이고 삽입에 대한 프롬프트 메시지가 성공적입니다.

  4. 캐치 오류 : 삽입이 실패하면 (예 : 기본 키 충돌) $ conn-> errno는 오류 번호를 반환합니다. 이 예에서는 $ conn-> errno1062 인지 확인합니다. 이는 MySQL의 반복 된 1 차 키 오류에 대한 오류 번호입니다. 중복 기본 키 오류 인 경우 특정 오류 메시지 인 "Dull 1 차 키 값"을 출력합니다. 다른 유형의 오류 인 경우 MySQL에서 반환 한 오류 메시지가 표시됩니다.

  5. CLISE 연결 : 작업이 완료된 후 $ Conn-> Close ()를 사용하여 데이터베이스 연결을 닫고 리소스를 해제합니다.

요약:

mysqli :: $ errno를 사용하면 MySQL 오류, 특히 일반적인 중복 기본 키 오류 (오류 번호 1062)를 쉽게 잡아 처리 할 수 ​​있습니다. 이 방법은 프로그램의 견고성을 향상시키고 중복 기본 키로 인한 프로그램 충돌 또는 오류를 피합니다.

처리 로직을 더욱 향상 시키려면 삽입 건너 뛰기, 기존 레코드 업데이트 또는보다 자세한 오류 메시지를 반환하는 것과 같은 중복 기본 키 오류를 포착 할 때 더 적절한 작업을 수행 할 수 있습니다.