라이브러리
[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으로 설정해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.