锁的范围为什么要紧
锁住一行和锁住整张表,差别在于【0】。
⚠️ 一个人在写,另一个连读都读不了
甲改了一行还没提交。下面这段打出乙去读会得到什么和乙去写会得到什么(用 / 隔开)。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal 100 / 100 /
自己写:看看写锁挡住了谁
把 TODO 补完:甲改了没提交,让乙试着去写另一行,打出结果。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal 100 / 100 / 100 四个现成
自己写:提交之后锁就放开了
把 TODO 补完:让甲把事务结束掉,然后打出乙这时候能不能写。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal 100 / 100 / 100 四个现成
自己写:量出事务开着的代价
把 TODO 补完,打出甲的事务还开着时乙能不能写和甲结束之后乙能不能写(用 / 隔开)。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal 100 / 10
自己写:把锁的三件事一次量齐
把 TODO 补完,打出甲改了没提交时乙读到什么、乙写另一行的结果、甲结束之后乙写的结果(三段,用 / 隔开)。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal
一笔转账该怎么包
写一笔转账,正确的做法是【0】。
余额不够的时候该怎么办
转账时发现转出方余额不够,正确的处理是【0】。
一笔正常的转账
下面这段把 30 从甲转给乙并提交。打出甲的余额、乙的余额和总额(三段,用 / 隔开)。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal 100 / 100
⚠️ 钱不够那一笔,退得干干净净
下面这段试着转一笔超过余额的钱,发现不够就退回去。打出退回后甲的余额、乙的余额和总额(三段,用 / 隔开)。 acct 表:3 行,一开始每人 100,总额 300 id 1 / 2 / 3 name 甲 / 乙 / 丙 bal