V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hhhhhh123  ›  全部回复第 5 页 / 共 13 页
回复总数  257
1  2  3  4  5  6  7  8  9  10 ... 13  
2022-11-30 10:00:23 +08:00
回复了 ggp1ot2 创建的主题 程序员 预算 5000 - 10000,想学英语,去哪里好?
去国外流浪 3-6 个月????
2022-11-30 09:48:20 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@raysonlu @Dlin @raysonlu @all 兄弟们,算了 不搞了。 谢谢各位的解惑。 反正 代码中测试 commit 是没有问题的 。
2022-11-30 09:41:35 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@raysonlu 这个是一样的
mysql> select pk_money from user_basic_info where uid= 123456803;
+----------+
| pk_money |
+----------+
| 500 |
+----------+
1 row in set (0.00 sec)

mysql> set autocommit=0; begin; SELECT pk_money FROM user_basic_info WHERE uid = 123456803 for update ; UPDATE user_basic_info set pk_money=pk_money+1 where uid =123456803;
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

+----------+
| pk_money |
+----------+
| 500 |
+----------+
1 row in set (0.00 sec)

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select pk_money from user_basic_info where uid= 123456803;
+----------+
| pk_money |
+----------+
| 501 |
+----------+
1 row in set (0.00 sec)

mysql>
2022-11-30 09:39:55 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@Dlin mysql> select pk_money from user_basic_info where uid= 123456803;
+----------+
| pk_money |
+----------+
| 499 |
+----------+
1 row in set (0.00 sec)

mysql> begin; set autocommit=0; SELECT pk_money FROM user_basic_info WHERE uid = 123456803 for update ; UPDATE user_basic_info set pk_money=pk_money+1 where uid =123456803;
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

+----------+
| pk_money |
+----------+
| 499 |
+----------+
1 row in set (0.00 sec)

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select pk_money from user_basic_info where uid= 123456803;
+----------+
| pk_money |
+----------+
| 500 |
+----------+
1 row in set (0.00 sec)

mysql>
2022-11-30 09:39:11 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@Dlin
你看看 我这语法有问题吗? 应该是这样写的吧?

mysql> begin; set autocommit=0; SELECT pk_money FROM user_basic_info WHERE uid = 123456803 for update ; UPDATE user_basic_info set pk_money=pk_money+1 where uid =123456803;

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

+----------+
| pk_money |
+----------+
| 498 |
+----------+
1 row in set (0.00 sec)

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select pk_money from user_basic_info where uid= 123456803;
+----------+
| pk_money |
+----------+
| 499 |
+----------+
1 row in set (0.00 sec)

mysql>
2022-11-30 09:26:45 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@zhanglintc 不一样 一个 2744 一个 2741
2022-11-30 09:22:56 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@zhanglintc 是啊,navicat 工具 不同的窗口
把个人博客啥的 搭在这个服务器 免费用。。
2022-11-29 17:39:59 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@raysonlu
session1 : SELECT pk_money FROM user_basic_info WHERE uid = 123456803; # pk_money= 496

session2:
```
BEGIN;
set autocommit=0;
select `pk_money` from user_basic_info where uid=123456803 for update ;
update user_basic_info set pk_money=pk_money+1 where uid=123456803;
# 这里没有 commit
```
结果
```
BEGIN
> OK
> Time: 0.047s


set autocommit=0
> OK
> Time: 0.045s


select `pk_money` from user_basic_info where uid=123456803 for update
> Affected rows: 0
> Time: 0.042s


update user_basic_info set pk_money=pk_money+1 where uid=123456803
> Affected rows: 1
> Time: 0.044s

```
再次运行 session1
session1 : SELECT pk_money FROM user_basic_info WHERE uid = 123456803; # pk_money= 497
2022-11-29 09:10:50 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@zhanglintc 主要是不会贴图片, 不然我就吧图片贴上来。 确确实实+1 。 不过代码就不会。 我也很好奇。 理论上确实不应该拿到未提交数据且更新到数据中了
2022-11-28 17:59:35 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@zhanglintc 因为网上的教程都是先 select 在 update 我以为这是必要流程
2022-11-28 15:35:12 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
是 InnoDB
2022-11-28 15:32:16 +08:00
回复了 hhhhhh123 创建的主题 程序员 mysql 悲观锁 机制 请教
@rqxiao
@xhinliang
```
select @@transaction_isolation;
select @@global.transaction_isolation;
```
  结果是 REPEATABLE-READ
1  2  3  4  5  6  7  8  9  10 ... 13  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2619 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 06:47 · PVG 14:47 · LAX 22:47 · JFK 01:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.