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 중국어 웹사이트의 기타 관련 기사를 참조하세요!