作者DarkKiller (System hacked)
看板PHP
标题Re: [请益] PDO transaction 问题
时间Sat Jul 27 20:17:30 2013
※ 引述《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