데이터 수정 작업이 MySQL에 자동으로 제출됩니까?

WBOY
풀어 주다: 2024-03-15 14:03:04
원래의
313명이 탐색했습니다.

데이터 수정 작업이 MySQL에 자동으로 제출됩니까?

MySQL의 데이터 수정 작업은 기본적으로 자동으로 제출됩니다. 즉, 데이터를 수정하기 위해 UPDATE, INSERT, DELETE 등을 수행할 때마다 즉시 적용되고 데이터베이스에 제출됩니다. 이는 데이터 일관성과 내구성을 보장하는 장점이 있지만 때로는 특정 위험을 초래하기도 합니다. 예를 들어 여러 수정 작업을 수행할 때 각 작업을 즉시 제출하는 대신 모든 작업을 한 번에 제출할 수 있습니다.

MySQL은 데이터 수정 작업의 제출을 수동으로 제어할 수 있는 트랜잭션 개념을 제공하므로 여러 작업을 한 번에 제출하거나 롤백할 수 있습니다.

아래에서는 특정 코드 예제를 사용하여 MySQL의 데이터 수정 작업의 자동 제출 기능과 제출을 수동으로 제어하는 방법을 보여 드리겠습니다.

먼저 다음 구조로 "test_table"이라는 테이블을 생성합니다.

CREATE TABLE test_table ( id INT PRIMARY KEY, name VARCHAR(50) );
로그인 후 복사

다음으로 일부 테스트 데이터를 삽입합니다.

INSERT INTO test_table (id, name) VALUES (1, 'Alice'); INSERT INTO test_table (id, name) VALUES (2, 'Bob'); INSERT INTO test_table (id, name) VALUES (3, 'Charlie');
로그인 후 복사

이제 간단한 UPDATE 문을 실행하여 데이터를 수정하고 자동 제출 효과를 확인합니다. :

UPDATE test_table SET name = 'David' WHERE id = 1; SELECT * FROM test_table;
로그인 후 복사

위 명령문을 실행하면 데이터가 성공적으로 수정된 것을 확인할 수 있으며, 이는 수정 작업이 자동으로 제출되었음을 나타냅니다.

다음으로 트랜잭션을 설정하여 데이터 수정 작업 제출을 수동으로 제어합니다.

START TRANSACTION; UPDATE test_table SET name = 'Eve' WHERE id = 2;
로그인 후 복사

여기에서는START TRANSACTION을 사용하여 트랜잭션을 시작하고 데이터 업데이트 작업 후에는 일시적으로 커밋하지 않습니다.START TRANSACTION来开始一个事务,并在更新数据的操作后暂时不提交。

接着我们尝试查询数据,此时修改还未提交,所以查询仍然会返回之前的数据:

SELECT * FROM test_table;
로그인 후 복사

接着我们手动提交这个事务:

COMMIT;
로그인 후 복사

执行完以上语句后,再次查询数据,发现数据已经成功被修改了。

另外,如果想要撤销之前的修改操作并回滚事务,可以使用ROLLBACK命令:

START TRANSACTION; UPDATE test_table SET name = 'Grace' WHERE id = 3; SELECT * FROM test_table; ROLLBACK; SELECT * FROM test_table;
로그인 후 복사

在上面的示例中,执行ROLLBACK

그런 다음 데이터를 쿼리하려고 합니다. 이때 수정 사항이 제출되지 않았으므로 쿼리는 여전히 이전 데이터를 반환합니다.

rrreee

그런 다음 트랜잭션을 수동으로 제출합니다.rrreee위 명령문을 실행한 후 데이터를 다시 쿼리하고 데이터가 성공적으로 수정되었음을 확인합니다. 또한 이전 수정 작업을 취소하고 트랜잭션을 롤백하려면 ROLLBACK명령을 사용할 수 있습니다. rrreee위 예에서는 를 실행한 후 데이터가 발견되었습니다. >ROLLBACK수정되지 않았으며 이는 트랜잭션이 성공적으로 롤백되었음을 나타냅니다. 위의 예를 통해 MySQL에서는 데이터 수정 작업이 기본적으로 자동으로 커밋되지만 커밋이나 롤백 작업은 트랜잭션을 통해 수동으로 제어하여 보다 유연한 데이터 작업 방법을 구현할 수 있음을 알 수 있습니다.

위 내용은 데이터 수정 작업이 MySQL에 자동으로 제출됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!