我需要一些帮助来将旧客户数据库拆分为客户和地址
例如:
让我们调用旧表TB_old
以及 2 个新的 new_customer
和 new_address
TB_old 具有以下列:
cust_id, firstname, lastname, address, city, postalcode, phone, email, password
new_customers 得到:
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。
编辑:额外的图像 说清楚:
最佳答案
第一件事:地址属于客户。考虑到这一点,您可以做到这一点:
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;
;-)
关于mysql - 如何将一个表拆分为两个表并使用交叉链接 ID 链接记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165764/