mysql:6130
From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Wed, 11 Sep 2002 18:02:07 +0900
Subject: [mysql 06130] Re: 他テーブルのデータでアップデート
川合孝典です。 ----- Original Message ----- From: "梅村繁実" <umemura@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Wednesday, September 11, 2002 12:52 PM Subject: [mysql 06113] 他テーブルのデータでアップデート > はじめまして、梅村と申します > MySQL初心者ですがよろしくお願いいたします (中略) > update構文でのsetにテーブル、フィールドという指定は使えないという > ことでしょうか? (中略) > ドキュメントを見ましたがupdate構文のところにも書いてなかったように思いま す、 > 過去ログを参照したところ、一旦新しいテーブルを作ってreplaceする方法が有り ま > したが,その方法しか無いのでしょうか? 他の方も書いていらっしゃるとおり、とりあえずは、それしかないかなと思います。 ただテーブルを作るといっても一時テーブル(TEMPORARY TABLE)であれば、 コネクション単位に作成されますし、コネクションが切れると自動的に削除され ますから、通常にテーブルを作ることを考えるよりは、安心して使える思います。 ちなみに REPLACE codemaster(ID, EDP_code, sonota) SELECT temp.ID, temp.EDP, MST.sonota FROM temp INNER JOIN codemaster MST ON temp.ID=MST.ID; は ERROR 1093: INSERT TABLE 'codemaster' isn't allowed in FROM table list となりました。ケチ(ToT) [ex.] CREATE TABLE codemaster ( ID int(6) PRIMARY KEY, sonota text, EDP_Code VARCHAR(8)); CREATE TABLE temp ( ID int(6) PRIMARY KEY, EDP varchar(8)); insert into codemaster values( 1, 'SONOTA:1', 'MSTER:1'); insert into codemaster values( 2, 'SONOTA:2', 'MSTER:2'); insert into codemaster values( 3, 'SONOTA:3', 'MSTER:3'); insert into temp values( 2, 'TMP:2'); CREATE TEMPORARY TABLE tmp_code SELECT temp.ID, temp.EDP, MST.sonota FROM temp INNER JOIN codemaster MST ON temp.ID=MST.ID; REPLACE codemaster(ID, EDP_code, sonota) SELECT * FROM tmp_code; mysql> SELECT * FROM codemaster; +----+----------+----------+ | ID | sonota | EDP_Code | +----+----------+----------+ | 1 | SONOTA:1 | MSTER:1 | | 2 | SONOTA:2 | TMP:2 | | 3 | SONOTA:3 | MSTER:3 | +----+----------+----------+ 3 rows in set (0.01 sec) =================================================== 川合 孝典 (Hippo2000) DBI日本語メーリングリスト管理人、Kansai.pm所属 kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/ 「Cマガジン」でPer DBIの連載はじまります。 http://www.cmagazine.jp/ ===================================================
6113 2002-09-11 12:52 ["梅村繁実" <umemura@] 他テーブルのデータでアップデート 6124 2002-09-11 16:22 ┣["Takashi Yamashita" ] 6126 2002-09-11 17:05 ┃┣[SUGAWARA Hajime <sug] 6132 2002-09-11 23:44 ┃┃┗[とみたまさひろ <tomm] 6140 2002-09-13 22:11 ┃┃ ┗["umemura" <shigemi.u] 6141 2002-09-14 00:54 ┃┃ ┗[ふぁんく <freeml@xxx] 格納データ型について 6142 2002-09-14 01:45 ┃┃ ┣[<miffyz@xxxxxxxxxx> ] 6147 2002-09-14 21:37 ┃┃ ┃┗[<freeml@xxxxxxxxxx> ] 6144 2002-09-14 19:26 ┃┃ ┗[とみたまさひろ <tomm] 6133 2002-09-12 09:47 ┃┗["梅村繁実" <umemura@] 6134 2002-09-12 10:14 ┃ ┗["Takashi Yamashita" ] 6125 2002-09-11 17:03 ┣[遠藤 俊裕 <endo_t@xx] 6127 2002-09-11 17:11 ┃┗[遠藤 俊裕 <endo_t@xx] -> 6130 2002-09-11 18:02 ┗["KAWAI,Takanori" <GC]