[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 メーリングリストの案内