WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:MySQL 複数のIDを対象にした更新

0:[投稿] atusi [2003/05/17 19:20 ][環境:Win2k unix, mysql ]

Perl から DBIを使って MySQLを実行しています。

ID が 1, 2, 3 の場合に update を実行したく
下のようなSQL文を書いたのですが、これらを一行でまとめてしまうことは出来ないでしょうか?

$query = "update list set finish =\"1\" where id = 1";
$query = "update list set finish =\"1\" where id = 2";
$query = "update list set finish =\"1\" where id = 3";

# 今現在は下のようにfor文で perl側でループさせています。

for($num=1; $num<=3; $num++)
{
    $query = "update list set finish =\"1\" where id = $num";
    $sth = $db->prepare($query);
    $sth->execute;
}

どうぞよろしくお願いします。


1:[回答] ひじ [2003/05/17 20:38 ]

update list
set finish = '1'
where id in ('1', '2', '3');

http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Reference.html#Comparison_Operators


2:[完了] atusi [2003/05/19 19:03 ]

なるほど、リストにして指定してやればよいのですね。

おかげさまでSQLが少しずつわかってきてすごく楽しいです。
どうもありがとうございました!!!


回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World