MySQL-mysql事务问题

MySQL-mysql事务问题

偏爱自由 发布于 2017-08-24 字数 564 浏览 1148 回复 1

php连接mysql在一个事务中有如下代码:先插入某条数据,再查询这笔数据
$id=Tools::createId();//生成全局id,
$data=array('id'=>$id,'name'=>'xxx');
$db->beginTrans();
$db->insert('table',$data);往table中插入数据

$info=$db->fetchRow($id) //这里获取不到??$info为空,但我们在ms sql server数据库中是能正常获取到的,

..这里还有许多根据此id,操作其它....

$db->commit();

不知道mysql为什么这样?没有办法?我们只有在第一条插入时,不加入到事务中,但我们在ms sql server中一直都可以放在同一事务中

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2017-10-16 1 楼

这要看数据库使用的是哪些事务模式,分二种:
1. Consistent read (mysql默认) 未提交读,允许脏读,也就是可能读取到其他会话中未提交事务修改的数据;
2. 提交读(Read Committed)只能读取到已经提交的数据;
看来你使用的是第二种。