라이브러리

[PHP] mysqli::autocommit - 데이터베이스 수정 사항 자동 커밋을 켜거나 끕니다.




MySQLi::autocommit


MySQLi::autocommit은 MySQLi 연결 객체의 autocommit 모드를 설정하는 메서드입니다. autocommit 모드는 트랜잭션의 자동 커밋 여부를 결정합니다.

# autocommit 모드


autocommit 모드는 두 가지 상태를 가집니다.

* autocommit = ON: 트랜잭션의 자동 커밋이 활성화됩니다. 각 SQL 명령이 실행되면 자동으로 커밋됩니다.
* autocommit = OFF: 트랜잭션의 자동 커밋이 비활성화됩니다. 트랜잭션을 종료하기 전에 명시적으로 커밋 또는 롤백해야 합니다.

# 예제


#hostingforum.kr
php

// MySQLi 연결 객체 생성

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



// autocommit 모드 OFF로 설정

$mysqli->autocommit(false);



// 트랜잭션 시작

$mysqli->query("START TRANSACTION");



// 데이터 삽입

$result = $mysqli->query("INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')");

if (!$result) {

    echo "Error inserting data: " . $mysqli->error;

    // 롤백

    $mysqli->query("ROLLBACK");

    exit;

}



// 데이터 삽입

$result = $mysqli->query("INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane@example.com')");

if (!$result) {

    echo "Error inserting data: " . $mysqli->error;

    // 롤백

    $mysqli->query("ROLLBACK");

    exit;

}



// 트랜잭션 커밋

$mysqli->query("COMMIT");



// autocommit 모드 ON으로 설정

$mysqli->autocommit(true);



// MySQLi 연결 객체 닫기

$mysqli->close();



# 설명


위 예제에서는 autocommit 모드를 OFF로 설정하고 트랜잭션을 시작합니다. 두 개의 데이터를 삽입하고, 성공적으로 삽입되면 트랜잭션을 커밋합니다. 만약 데이터 삽입 중 오류가 발생하면 롤백을 수행합니다.

autocommit 모드를 ON으로 설정하면 트랜잭션의 자동 커밋이 활성화됩니다. 각 SQL 명령이 실행되면 자동으로 커밋됩니다. 예를 들어, 위 예제에서 autocommit 모드를 ON으로 설정하면 두 개의 데이터가 삽입된 후 자동으로 커밋됩니다.

# 참고


* MySQLi::autocommit은 MySQLi 연결 객체의 autocommit 모드를 설정하는 메서드입니다.
* autocommit 모드는 트랜잭션의 자동 커밋 여부를 결정합니다.
* autocommit 모드는 두 가지 상태를 가집니다: ON과 OFF.
* 트랜잭션의 자동 커밋은 autocommit 모드에 따라 달라집니다.
* 트랜잭션의 자동 커밋을 비활성화하려면 autocommit 모드를 OFF으로 설정해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 382 페이지

검색

게시물 검색