MySQL 将一个表的信息插入另一个表

两个表:
app_member(app_id, user_id, master_id):分别表示 app 的 id,用户 id 和团队 owner 的用户 id(master_id 也是 user 类)
app(id, user_id):该 app 的 id 和拥有者的 id

注:app 的拥有者就是 app 所属团队的 owner

现在要把 app 表存在的 id 和 user_id 都插入到 app_member 表,app 表 id 的值插入到 app_member 表的 app_id,app 表 user_id 的值插入到 app_member 表的 user_id 和 master_id

insert into app_member(app_id, user_id, master_id) select id, user_id, user_id from app

但是遇到重复的,就只能人工介入了

后话:
app_member 表总共 3 个字段:app_id、user_id、master_id,描述的是 app 的参与关系,不包括拥有关系

本来是想把 app 表描述的拥有关系也 insert 进去,所以才有这篇博客。如果把拥有关系也包含进去的话,要查询某用户拥有和参与的 app 会比较方便

但是这种设计违背 ddd,因为 master 和 app_member 是两个域,master 是控制 app 和 member 的,不应该和它们归类在一起

分开的话,如果要查某用户创建和参与的所有 app 并整合在一起排序就需要使用 union,所有就有了下一片博客:MySQL 多个表查询并整合起来按某些同一含义的字段排序

你可能感兴趣的:(MySQL 将一个表的信息插入另一个表)