2012-05-03 2 views
0

2つのデータベースに2つのテーブルがあります。テーブルアドレスを持つdb1という名前のデータベース1。テーブル郡を持つ名前db2のデータベース2。あるテーブルから別のMySQLへのレコードを更新します。

アドレス:

_id | address | countyID | cityID | stateID | postalCode | countryID 

郡:アドレステーブルの

_id | stateID | countyName 
現在

countyID郡名を持っているが、次のように

構造があります。私がしなければならないことは、addresses.countyIDにある値を郡で見つけ、countyIDを郡のテーブルから選択して、countyIDでアドレステーブルを更新することです。

最終的に、addresses.countyIDはcountyNameでなくcountyIDを持つ必要があります。

ありがとうございました。ご協力いただきありがとうございます。私はあらゆる種類のものを試しています。私は単純な試みたWHEREJOINしかし、何も動作するようです。私は自分のデータベースとしてMySQLを使用しています。

答えて

0

私は、選択結果から新しいテーブルを作成しました。

CREATE TABLE AddressesCounties 
SELECT db1.addresses._id, db1.addresses.address, db2.counties._id, db1.addresses.cityID, db1.addresses.stateID, db1.addresses.postalCode, db1.addresses.countryID 
WHERE db1.addresses.countyID = db2.counties.countyName; 

これは、実際のデータを変更するよりも、この一時表を作成する方が簡単です。このようにして、SELECTコマンドを実行して、結果を適用する前にテストすることができます。

1

これはどういう意味ですか?

UPDATE DB1 SETのCOUNTYID =(DB1.COUNTYID = DB2.ID ON DB1を登録しよDB2 INNERからIDを選択)

私はあなたが一致しているDB2でどの列わからないんだけど、より多くの私が読んであなたの質問は、私が得るより混乱! :)

+0

私はdb1.countyID ON db2.countyNameと一致する必要があります。 DB1 SET COUNTYID =(DB2 INNER JOIN DB1をDB1.COUNTYID = DB2.COUNTYNAMEに設定してください) –

+0

IDが使用する列であれば、これを行う必要がありますDB1.COUNTYIDを置き換える – jonman

関連する問題