[PHP-users 33278] Re: MySql で二重書き込みを防ぐには?

池谷 美歌也 mikaya_ikeya @ pakureserve.jp
2008年 2月 14日 (木) 17:11:02 JST


ミカヤです。

REPLACEはインクリメントに手間が掛かるんですよね。 
DUPLICATE KEYが複数のユニークキーに使えない理由は分かりますが、
「複数」ではなく「複合」のユニークキーだった場合もORで判定され
てしまうのかどうか気になりました。

ちょっと実験した限りでは複合キーであれば期待通りの動きはしてい
ましたが・・・。


> -----Original Message-----
> From: php-users-bounces @ php.gr.jp 
> [mailto:php-users-bounces @ php.gr.jp] On Behalf Of SAWAI-Shooskay
> Sent: Thursday, February 14, 2008 4:23 PM
> To: php-users @ php.gr.jp
> Subject: [PHP-users 33277] Re: MySql で二重書き込みを防ぐには?
> 
> さわいです。
> 
> PHPネタじゃないんだけど・・ついつい 続けてしまいます。
> 
> 
> > 確認してないので動くかどうか分かりませんが、dateとbidをユニークキーにして
> > ON DUPLICATE KEYを使うと一回のクエリで全部済むと思います。
> > 
> > マニュアルに「通常、複数の UNIQUE キーを持つテーブルに対しては ON DUPLICATE KEY 節を使用しないようにする。」と
> いう記述があるため、下
> > のコードではdateとbidを組み合わせた一つのユニークキーを用意したという前提でSQL文を作っています。
> 
> http://blog.flatz.jp/node/123
> 
> には 
> 
> REPLACE で 複合ユニークキーで いけます って かいてありました。
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp 
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
> 



PHP-users メーリングリストの案内