mysql:10172
From: "Takashi Yamashita" <"Takashi Yamashita" <takasi@xxxxxxxxxx>>
Date: Thu, 16 Sep 2004 10:19:46 +0900
Subject: [mysql 10172] replace()関数の処理
お世話になっております。
update tbl_a set field_n=replace(field_n, 'from_str', 'to_str');
上記のような処理は実現可能ですので使わせていただいています。
現在、以下のような処理を実行させたいと考えております。
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
です。
宜しくお願いします。
-------------------------------------------------------------
山下高司
takasi@xxxxxxxxxx
-> 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" ]