温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL中COMMIT怎么提交

发布时间:2026-10-07 02:40:19 来源:亿速云 阅读:90 作者:小樊 栏目:数据库

在 SQL(尤其是关系型数据库,如 MySQL、PostgreSQL、Oracle、SQL Server 等)中,COMMIT 用于提交事务,也就是把之前执行的 SQL 操作永久保存到数据库。


一、基本用法

1️⃣ 显式提交(最常用)

COMMIT;

或

COMMIT WORK;

两者通常等价。


二、完整事务示例

BEGIN;  -- 开启事务(有些数据库用 START TRANSACTION)

UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;

COMMIT;  -- 提交事务,数据正式生效

如果不执行 COMMIT,事务中的修改不会真正保存(除非自动提交开启)。


三、与 ROLLBACK 的对比

BEGIN;

DELETE FROM user WHERE id = 10;

ROLLBACK;  -- 撤销删除
BEGIN;

DELETE FROM user WHERE id = 10;

COMMIT;  -- 删除生效

四、自动提交(AUTOCOMMIT)

✅ 自动提交开启时(默认常见)

  • 每条 SQL 自动 COMMIT
  • 不需要手写 COMMIT

例如 MySQL 默认:

SET autocommit = 1;

❌ 关闭自动提交

SET autocommit = 0;

之后必须手动 COMMIT。


五、不同数据库的小差异

数据库 开启事务 提交
MySQL BEGIN / START TRANSACTION COMMIT
PostgreSQL BEGIN COMMIT
Oracle 自动开启 COMMIT
SQL Server BEGIN TRAN COMMIT

六、常见错误 ❌

  1. 忘记 COMMIT
    • 数据只在当前会话可见,断开后消失
  2. COMMIT 后无法回滚
  3. 在查询语句后误用 COMMIT
    • SELECT 不需要提交

如果你用的是某种具体数据库(如 MySQL / Oracle)或编程语言(Java / Python),我可以给你更具体的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手