域名 AXUM.RS 将于 2025 年 10 月到期。我们无意再对其进行续费,如果你有意接续这个域名,请与我们取得联系。
  • AXUM.RS 现仅需人民币 3000 元(大写:叁仟元整。接受适度议价
  • 按照行业规则,AXUM.RS 到期后,大概率会进入长时间的赎回期,该期间内,如果你想拥有该域名,将要付出高额的费用
  • 我们已启用 AXUM.EU.ORG 域名,并将持续运营
  • 仅接受微信或支付宝交易
如果你对 AXUM.RS 有兴趣,请和我们进行联系:

事务

数据库事务是由一个或多个操作组成的单个工作单元。PostgreSQL 事务是原子的(Atomic)、一致的(Consistent)、隔离的(Isolated)和持久的(Durable)。这些属性通常称为 ACID:

示例数据:

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)
);

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

BEGIN TRANSACTION;
-- 或者
BEGIN WORK;
-- 或者
BEGIN;

提交事务

使用以下语句提交事务:

COMMIT TRANSACTION;
-- 或者
COMMIT WORK;
-- 或者
COMMIT;
-- 开启事务
BEGIN;

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

-- 增加1000到账号2
UPDATE accounts
SET balance = balance + 1000
WHERE id = 2; 

-- 查询所有账号
SELECT id, name, balance
FROM accounts;

-- 提交事务
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;
要查看完整内容,请先登录