私はMySQLにデータベースを持っており、テーブルの構造を少し変えて、それを移行したいと思います。他のテーブルからレコードのIDを取得する方法は?
私はMySQLの初心者ですので、私に同行してください。
私は以下の表を持っている:
アドレス
- ADDRESS_ID
- アドレス(例:第55回ストリート)
- ZIP_CODE
- 市
- 国
CustomersOld
- CUSTOMER_ID
- 名
- billing_address
- billing_zip_code
- billing_city
- billing_country
私は次のような構造
CustomersNew
- CUSTOMER_ID
- billing_address_id(アドレステーブルの外部キー)
で新しいテーブルに顧客データを移行したいです、テーブルCustomersOldから4つの請求先住所フィールドを取得し、これを行う:
[アドレス]テーブルに請求先住所フィールドに一致するレコードが含まれているかどうかを確認します。
1.1。はいの場合は、AddressIDのみを返します。
1.2。そうでなければ、そのレコードを作成し、AddressIDを返します。
- AddressIDをCustomersNewテーブルのaddress_idフィールドに挿入します。
INSERT INTO CustomersNew (customer_id, billing_address_id) SELECT customer_id, -- SELECT/JOIN ... (something like that, in order to get the address_id) FROM CustomersOld
あなたが私を助けてもらえ:
INSERT INTO CustomersNew SELECT * FROM CustomersOld
、私はいくつかのネストされたSELECT文を実行しなければならず、JOINのだろうとします
通常、私はテーブルを移行するには、この簡単なスクリプトを使用します適切なを得て、各顧客のために、どうですか?これは、2つのステップで行われる必要がある
おかげ