[前][次][番号順一覧][スレッド一覧]

mysql:4877

From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Tue, 8 Jan 2002 15:28:44 +0900
Subject: [mysql 04877] Re: 複数のデータを一回で UPDATE する方法

川合孝典です。

----- Original Message -----
From: "KYLiGHT User" <ram-2k@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Tuesday, January 08, 2002 11:41 AM
Subject: [mysql 04876] 複数のデータを一回で UPDATEする方法


> はじめまして木内といいます。
(中略)
> 一人のデータをUPDATEする方法は分かるのですが
>
> AさんのBirthday(19000203)、BさんのBirthday(19231201)、Cさんの
> Birthday(19770313)を一回のUPDATEコマンドで
> 変更したいのですが方法が分かりません。
そのような方法はあいにくと知りませんが。

> 数が少ないなら
> $sth=$dbh->prepare(qq{update list set Birthday=$Birthday where
> Name=$Name})});
> $sth->execute();
> をループしてやればいいのですが

 $sth=$dbh->prepare(qq{update list set Birthday=? where Name=?})});
 $sth->execute('19000203,' 'A');
 $sth->execute('19231201', 'B');
 $sth->execute('19770313', 'C');

という具合にプレースホルダを利用するほうが、パフォーマンスが
向上します。
#MySQLだとそれほど効果がないかもしれませんが。

そうでなくてもエスケープの問題もあるので、プレースホルダを使うのは
お勧めです。(せっかく手間暇かけてprepareしてるんだし(^^))

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx
   http://member.nifty.ne.jp/hippo2000
   http://www.hippo2000.net/
===================================================


[前][次][番号順一覧][スレッド一覧]

      4876 2002-01-08 11:41 [KYLiGHT User <ram-2k] 複数のデータを一回で UPDATE する方法    
->    4877 2002-01-08 15:28 ┣["KAWAI,Takanori" <GC]                                       
      4884 2002-01-09 16:44 ┃┗[KYLiGHT User <ram-2k]                                     
      4885 2002-01-09 17:21 ┃ ┗["KAWAI,Takanori" <GC]                                   
      4896 2002-01-11 10:21 ┗["KAWAI,Takanori" <GC]