✏️ AI 术语图鉴

事务 · Transaction

英文:transaction/trænˈzækʃən/重音在 sac

后端与数据库难度:硬核 ★★★

🗣️一句话大白话

把几个数据库操作「捆绑成一件事」:要么全部成功,要么全部撤销,绝不允许成功一半。转账就是典型:扣钱和到账必须同生共死。

事务:要么全成,要么全不算转账的例子:扣钱和到账必须同生共死开始事务 BEGIN操作 1A 账户 −100 元操作 2B 账户 +100 元两步都成任一步失败提交 COMMIT ✅数据永久生效回滚 ROLLBACK ↩两步全撤销,回到操作前不存在中间态:「扣了钱没到账」这种状态永远不落地这叫原子性
「事务」示意图

🎬真实场景

转账:A 账户扣 100 元,B 账户加 100 元。扣完钱系统崩了、B 没加上——钱凭空消失。用事务把两步捆在一起:任何一步失败,整个回滚到操作前,谁也不许少钱。

📮你可以这样说

「转账操作要用数据库事务:扣款和入账必须同一个事务,任何一步失败就整体回滚。用事务的代码给我标出来。」

⚠️边界与常见误解

  • 事务只管「数据库操作」捆在一起,管不了发邮件等外部动作
  • 事务期间会锁数据:包的操作越多太久,别人等着越急——保持事务短小
  • AI 生成的涉及多步写入的代码,要主动问一句「这里用事务了吗」

🔗相关术语