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]