2

INNODB を使用すると、クエリに追加して、LOCK IN SHARE MODE;編集中のユーザーが終了するまで、他のユーザーが読み取りはできるが更新はできないようにすることができます。

私の現在の PHP の PDO 関数は、現在次のようになっています。

//$this->db is a PDO connection to the MYSQL innodb database.
try 
    {
    $this->db->beginTransaction();
    $tmp = $this->db->prepare($query);  

    $tmp->execute($arr);
    $this->last_id = $this->db->lastInsertId();
    $this->db->commit();
    return $this->last_id;
    }
catch(PDOException $ex)
    {
    $this->db->rollBack();
    return $ex->getMessage();
    }

共有モードにするPDOドライバ機能の設定はありますか?もしそうならどのように?私が見つけた唯一のものには答えがなく、ドキュメントもあまり明確ではありません。それとも、単純にクエリ文字列に追加する必要がありますか?

4

1 に答える 1

4

MySQL 構文に一致するようにクエリを作成する必要があります。たとえば、次のようになります。

SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE

LOCK IN SHARE MODE をクエリ文字列に追加するだけです。

于 2013-02-08T13:59:39.463 に答える