看板 PHP 關於我們 聯絡資訊
※ 引述《tas72732002 (蔥頭)》之銘言: : 請問一下, 使用PDO transaction後如何lock select insert update語句的table : 上網查詢發現使用C# 的SqlDataReader.ExecuteNonQuery()對資料庫進行資料更新時, : transaction後需insert一筆資料才能lock select語句的 table, : 如果此時要對slelect語句的table進行鎖定, 必須還要透過Isolation Level來控制交易的隔離層級才可達到lock, : 想請問 PHP PDO的transaction是否也要透過這個機制, 還是他預設就可以lock select語句的table,不用等到insert : 一筆資料才能lock select語句的table 這看資料庫如何設計,不是 PDO 的問題。 如果是 MySQL InnoDB,需要用 SELECT ... FOR UPDATE 或是 SELECT ... LOCK IN SHARE MODE 告訴 MySQL 這筆 SELECT 會參與 transaction: http://dev.mysql.com/doc/refman/5.5/en/innodb-locking-reads.html 不熟 Microsoft SQL Server,不過就 MSDN 上翻到的資料看起來也是在下 query 時 指定: http://msdn.microsoft.com/en-us/library/aa213026(v=sql.80).aspx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.121.80.241