0

我需要一些帮助来将旧客户数据库拆分为客户和地址

例如:

让我们调用旧表和TB_old 2 个新表new_customernew_address

TB_old具有以下列:

cust_id, firstname, lastname, address, city, postalcode, phone, email, password

新客户得到:

cust_id(new,A_I), firstname, lastname, phone, email, pass, address_id(link to new_address)

new_address得到:

address_id(new), address, city, postalcode, cust_id (link to new_customers)

我已经做了什么:

INSERT INTO new_customers firstname, lastname, phone etc etc
SELECT TB_old.firstname TB_old.lastname etc etc from TB_old

我被困在哪里:

我坚持将地址插入 new_address,同时使用相对 cust_id 更新它,并使用相对地址更新 new_customer 内部的 address_id。

编辑:额外的图像以使其清楚:

4

2 回答 2

1

第一件事:地址属于客户。考虑到这一点,您可以这样做:

INSERT INTO new_customers 
    (cust_id, firstname, lastname, phone, email, password)
SELECT 
    (cust_id, firstname, lastname, phone, email, password)
FROM TB_old;


INSERT INTO new_address
    (address_id, cust_id, address, city, postalcode)
SELECT 
    (null, cust_id, address, city, postalcode)
FROM TB_old;

;-)

于 2013-04-23T09:44:02.050 回答
0

您需要链接旧密钥和新密钥。最简单的方法:将字段 oldKey 添加到第一个表中,将数据加载到其中(存储旧键),然后填充第二个表,使用旧键进行链接。毕竟 - 删除 oldKey 列。

于 2013-04-23T09:35:49.927 回答