首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个表转换为两个新表

将一个表转换为两个新表
EN

Stack Overflow用户
提问于 2012-11-02 19:06:25
回答 1查看 110关注 0票数 0

我正在尝试将数据从一个表移动到两个新表中,但我不确定如何才能以最好和最安全的方式做到这一点。

我在newsletter_users中有大约2000行,看起来像这样:

代码语言:javascript
复制
userid company email memberofgroup

哪里

代码语言:javascript
复制
memberofgroup 

是一个引用newsletter_mailgroups的整数。如果用户想成为不同组的成员,这不是最好的方法。那么将有x行包含相同的电子邮件。2000个用户x 3或4个不同的组(我怎么想的?)因此,我做了两个新表

看起来像这样的newsletter_members

代码语言:javascript
复制
userid email company

另一个表newsletter_member_of_group如下所示:

代码语言:javascript
复制
field_member_uid field_user_id field_memberofgroup

哪里

代码语言:javascript
复制
field_user_id

将包含来自newsletter_members的用户id,并且

代码语言:javascript
复制
field_memberofgroup 

将包含电子邮件组id。f.x。

代码语言:javascript
复制
field_user_id  field_memberofgroup 
    2                 6
    2                 4
    2                 8
    3                 1
    5                 6

如何以最佳方式导出和导入它们,以便电子邮件不会在newsletter_members中重复?-我可能需要进行手动检查,以查看哪些用户是多个邮箱组的成员。

邮件组表:

代码语言:javascript
复制
1   Forhandlere 
2   Arkitekter og byggerådgivere   
3   Typehusfabrikanter  
4   Byggeentreprenører 
5   Murermestre 
6   Tømrermestre   
7   Tagdækkere 
8   Boligforeninger/Ejendomsselskaber   
9   Bygge-interesserede 
10  Tyske modtagere 
11  Landskabsarkitekter 
12  Norske arkitekter   
13  Svenske arkitekter  
14  Norske forhandlere  
15  Svenske forhandlere 
16  Brancherelaterede   
17  Svenske ansatte 
18  Norske ansatte  
19  Beijer Sverige  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-02 19:28:31

以下几个步骤就可以解决这个问题:

  • Craetenewsletter_member_of_group.

脚本:

代码语言:javascript
复制
 CREATE TABLE newsletter_member_of_group(
  field_member_uid INT PRIMARY KEY AUTO_INCREMENT,
  field_user_id INT,
  field_memberofgroup INT
);

请注意,field_member_uid是AUTO_INCREMENT,它将帮助我们插入ID值。

  • Copynewsletter_member_of_group.

newsletter_users数据

脚本:

代码语言:javascript
复制
INSERT INTO newsletter_member_of_group
  SELECT NULL, userid, memberofgroup FROM newsletter_users;

  • Create newsletter_members表。我们有两个变体:创建新表并复制数据,或者将newsletter_users重命名为newsletter_members并删除memberofgroup字段。我选择第二个变体。

脚本:

代码语言:javascript
复制
ALTER TABLE newsletter_users RENAME TO newsletter_members;
ALTER TABLE newsletter_members DROP COLUMN memberofgroup;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13194000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档