mysql:11376
From: "Hajime FUKUDA" <"Hajime FUKUDA" <fukuda.hjj@xxxxxxxxxx>>
Date: Tue, 3 May 2005 12:06:42 +0900
Subject: [mysql 11376] リモートホストからのINSERT INTO SELECT
いつもML拝見させていただき勉強させていただいております。
fukudaと申します。
下記の質問ですが、どなたかご存知でしたら教えてください。
環境は以下の通りです。
サーバ:Solaris8
MySQL:4.0.22
リモートホストにあるテーブルからSELECTした結果を
ローカルホストにある同一フィールドを持つテーブルに
反映したいです。
現在考えている方法はINSERT INTO SELECTを使用して
できないかと考えております。
以下の手順で実施しましたが、当然だとは思うのですが
うまくいきません。
以下の環境を作成しました。
【リモートホスト】
ホスト名:rhost
DB名:testDB
ユーザ名:Ruser
テーブル名:ins_test2
【ローカルホスト】
ホスト名:lhost
DB名:localtestDB
ユーザ名:Luser
テーブル名:ins_test1
※ins_test1,ins_test2は同一のテーブル
>mysql -u Ruser -h rhost -p testDB
mysql> insert into localtestDB.ins_test1 select * from ins_test2 where
test_field=1;
ERROR 1146: Table 'localtestDB.ins_test1' doesn't exist
リモートホストのSELECT結果をローカルホストにINSERTする
ためには、一度結果セットに保存されたものを1レコードずつ
INSERTしていくしかないのでしょうか?
mysqldump をパイプでつないでローカルホストに入れる方法や、
SELECT OUT FILE と LOAD DATA INFILEを使用する方法など
も考えてはいますが。。。
ご存知の方がいらっしゃいましたらご教授願います。