域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。
  • 方案1️⃣AXUM.RS 域名 = 3000
  • 方案2️⃣方案1️⃣ + 本站所有专题原始 Markdown 文档 = 5000
  • 方案3️⃣方案2️⃣ + 本站原始数据库 = 5500
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名(方案1️⃣),或者该域名到期,本站将启用新的免费域名继续提供服务。
  2. 如果有人购买了 AXUM.RS 域名,且同时购买了内容和/或数据库(方案2️⃣/方案3️⃣),本站将关闭。届时我们或许会以另一种方式与你再相遇。

事务

  • 原子性保证事务以全有或全无的方式完成。
  • 一致性确保写入数据库的数据更改必须有效并遵循预定义的规则。
  • 隔离性决定了事务完整性如何对其他事务可见。
  • 持久性确保已提交的事务将永久存储在数据库中。

示例数据:

DROP TABLE IF EXISTS accounts;

CREATE TABLE accounts (
    id INT GENERATED BY DEFAULT AS IDENTITY,
    name VARCHAR(100) NOT NULL,
    balance DEC(15,2) NOT NULL,
    PRIMARY KEY(id)
);

开启事务

可以用以下语句开启事务:

提交事务

使用以下语句提交事务:

COMMIT TRANSACTION;
-- 或者
COMMIT WORK;
-- 或者
COMMIT;

举例:

回滚事务

使用以下语句回滚事务:

ROLLBACK TRANSACTION;
-- 或者
ROLLBACK WORK;
-- 或者
ROLLBACK;

举例:

-- 开启事务
BEGIN;

-- 从账号1扣除1500
UPDATE accounts 
SET balance = balance - 1500
WHERE id = 1;

-- 增加1500给账号3
UPDATE accounts
SET balance = balance + 1500
WHERE id = 3; 

-- 回滚事务
ROLLBACK;
要查看完整内容,请先登录