-- 建表
CREATE TABLE wallet (
id INT PRIMARY KEY,
balance INT NOT NULL
) ENGINE=InnoDB;
CREATE TABLE log (
id INT AUTO_INCREMENT PRIMARY KEY,
msg VARCHAR(100)
);
-- 插入初始数据
INSERT INTO wallet VALUES (1,1000),(2,1000);BEGIN;
-- 1. 先更新
UPDATE wallet SET balance = balance - 100 WHERE id = 1;
-- 2. 再插入日志
INSERT INTO log(msg) VALUES ('A转出100');
COMMIT;BEGIN;
-- 3. 尝试更新同一行,会被阻塞
UPDATE wallet SET balance = balance + 100 WHERE id = 2;
COMMIT;SHOW ENGINE INNODB STATUS\GLog sequence number与Log flushed up to的差值,体会REDO日志顺序追加写入的设计。SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;binlog_order_commits=1(默认开启)DBeaver连接MSSQL的轻松入门指南
商业逻辑与数据库顺序执行
mysql数据库怎么用、用这个关键词,以“当年明月”幽默的语
WordPress前台用户操作指南
WordPress 500错误迁移故障分析与解决教程
老罗带货版:PageAdmin商品导入轻松入门
伪静态让论坛颜值飙升,Apache+Discuz全攻略
CTO技术手记:重构企业决策链的WordPress逻辑引擎应用
帝国CMS单图片:打造商业视觉核弹的秘籍
程序员与数据库的幽默冒险
WordPress O2O主题:打造线上线下融合的商业生态
实施数据库的备份工具有
AD与数据库备份:构建企业数据安全的双重保障
WordPress构建企业级商业网站实战指南
WordPress商业模板应用全攻略
数据库逻辑备份的核心理念与应用解析
数据守护者:备份软件的商业价值与市场机遇
Discuz商业生态:企业级社区解决方案的价值探索
作品源码与数据库备份:数字创作的守护者