MST

星途 面试题库

面试题:MySQL中如何手动控制事务的开始、提交和回滚?

请简述在MySQL中开启一个事务,执行一些数据库操作(如插入、更新等)后,如何提交事务使更改永久生效,以及在出现错误时如何回滚事务撤销所有未提交的更改,并给出相应的SQL语句示例。
17.8万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试
  1. 开启事务: 使用 START TRANSACTION 语句开启一个事务。示例:
    START TRANSACTION;
    
  2. 执行数据库操作: 例如插入操作:
    INSERT INTO your_table_name (column1, column2) VALUES ('value1', 'value2');
    
    更新操作:
    UPDATE your_table_name SET column1 = 'new_value' WHERE some_condition;
    
  3. 提交事务: 使用 COMMIT 语句提交事务,使更改永久生效。示例:
    COMMIT;
    
  4. 回滚事务: 使用 ROLLBACK 语句回滚事务,撤销所有未提交的更改。一般会结合错误处理机制,比如在异常情况下执行回滚。示例:
    ROLLBACK;
    

完整示例:

START TRANSACTION;
INSERT INTO your_table_name (column1, column2) VALUES ('value1', 'value2');
UPDATE your_table_name SET column1 = 'new_value' WHERE some_condition;
-- 如果一切正常
COMMIT;
-- 如果出现错误
ROLLBACK;