mysql:10173
From: "片寄白王" <"片寄白王" <katayose@xxxxxxxxxx>>
Date: Thu, 16 Sep 2004 11:07:32 +0900
Subject: [mysql 10173] Re: replace()関数の処理
片寄です。 この場合は、tbl_aとtbl_repが同順で同レコード数という事でしょうね。 2つのテーブルに結合できるITEM(項目)があれば、できそうです。 なければ、追加していただければよろしいかと。 余計なことですが、副問い合わせができたとしても、 ご提示のupdateでは無理かも。 replace関数の中のselect文では、1件抽出になることは少ないと思います。 Takashi Yamashita wrote: > 現在、以下のような処理を実行させたいと考えております。 > update tbl_a > set field_n= > replace(field_n, select field_from from tbl_rep, select field_to from > tbl_rep); > > このような処理は恐らく副問い合わせに当たると思いますので、 > そのままでは実現できません。 > ですので、現状はphpと組み合わせて以下のような処理で実現しています。 > $hResult=mysql_query("select field_from, field_to from tbl_rep"); > while($row=mysql_fetch_array($hResult)) { > mysql_query( > sprintf("update tbl_a set field_n=replace(field_n,'%s','%s')", > $row[field_from], $row[field_to]); > } > mysql_free_result($hResult); > > このような処理をphpによる制御を介在させず、 > テンポラリテーブル等を駆使して、 > クエリのみで完結させる事は可能でしょうか? > > 教えて下さい。 > mysql:4.0.17、php:4.2.3、apache:1.3.27、vine:2.6 > です。
10172 2004-09-16 10:19 ["Takashi Yamashita" ] replace()関数の処理 -> 10173 2004-09-16 11:07 ┗["片寄白王" <katayose] 10174 2004-09-16 11:31 ┗["Takashi Yamashita" ] 10179 2004-09-16 18:06 ┣["片寄白王" <katayose] 10180 2004-09-16 19:21 ┗["Takashi Yamashita" ] 10181 2004-09-16 20:28 ┗[UNO Shintaro <uno@xx] 10184 2004-09-16 21:53 ┗["Takashi Yamashita" ] 10192 2004-09-17 12:18 ┗[UNO Shintaro <uno@xx] 10193 2004-09-17 13:31 ┗["Takashi Yamashita" ]