MySql:在提交之前选择插入同一事务内的一行

Trt*_*rtG 4 mysql transactions

在使用InnoDB的MySql中,在一个事务的上下文中,以下选择是否应该使插入可见?

范例:

 $connect = new PDO('mysql:host='.  getConfig()->get('DB_HOST').';dbname='.  getConfig()-   >get('DB_NAME'), getConfig()->get('DB_USER'), getConfig()->get('DB_PASSWORD'), array(PDO::ATTR_PERSISTENT => true));
 $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 $connect->beginTransaction();

 $sql = 'INSERT INTO t_table (label) VALUES ("test") WHERE id = "1"';
 $query = $connect->prepare($sql);
 $query ->execute();

 $sql2='SELECT * FROM t_table';
 $query2=$connect->prepare($sql2);
 $query2->execute();
 $result = $query2->fetch();

 $connect->commit();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,“ test”应该以$ result为单位吗?如果没有,我怎么做呢?

精度:“标签”列不是主键,但具有索引。

小智 5

是的,'test'必须在$ result中。单个事务中的所有操作都是彼此可见的。