例えば、私は列C1 value = 'clean'
と行を持って、2つの異なるクライアントが同時にでこのクエリを実行します。トランザクションを使用しないMyISAMとInnoDBでは単一のmysql文がアトミックなのでしょうか?
update T1 set C1 = 'dirty' where Id = 1
、それは関わらず、エンジンタイプのことが保証されていますmysql_affected_rows()
の値は、1クライアントの場合は1
、もう一方のクライアントの場合は0
となります。
アトミック性は必要ですが、InnoDBテーブルを使用したくない場合は[MySQLロックテーブルを参照してください](http://dev.mysql.com/doc/refman/5.1/en/lock-tables。html) – bobobobo