现在我有一个带有表userphone(id, phone, type,userid)
的mysql数据库,我想把它分成两个表,phone(id,phone,type)
和user_phone(id,user_id,phone_id)
。
我这样做是因为我还有其他东西也会引用电话号码,而且它们应该全部存储在一个表格中。 (例如,我还将添加company_phone(id,company_id,phone_id)
联接表,以便通过电话号码加入公司。
有没有什么好的,有效的方法呢?我添加了新表,但我不确定填充它们的最佳方法。
我可以将userphone
中的所有手机添加到phone
表中,例如
INSERT INTO phone(phone,type) SELECT phone,type FROM userphone;
但是这不会为每部手机的新user_phone
表添加一个条目。
有没有办法同时INSERT INTO
两个不同的牌桌? (从研究中,我知道没有,但我无法弄清楚如何实现这一目标......)
提前致谢!
答案 0 :(得分:2)
将表user_phone创建为
insert into phone(phone,type,user_id)
select phone,type,user_id from userphone
将表user_phone创建为
insert into user_phone (user_id,phone_id)
select user_id,id from phone
alter table phone drop column user_id
答案 1 :(得分:0)
第一
插入手机(手机,类型)选择手机,输入FROM userphone;
第二
选择u.USER_ID,p.phone_ID 来自userPhone u INNER JOIN电话p ON u.phone = p.phone 和u.type = p.type