2013-10-07 56 views
2

在使用InnoDB的MySql中,在一個事務的上下文中,插入是否應該通過以下選擇可見?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(); 

在這種情況下,應該 '測試' 是在$結果?如果沒有,我怎麼能這樣做呢?

精確度:「標籤」列不是主鍵,但具有索引。

回答

2

是的,'test'必須在$ result.All事務中的所有操作是可見的對方。

相關問題