MySQL:将数据从表复制到另一个

时间:2015-03-19 22:51:14

标签: mysql sql

我需要复制" user1_id" &安培; " user2_id"来自"战斗"表到新表名为" user_battle",

表格结构:

"战斗"表(结构):

id     user1_id     user2_id
1          1          2
2          1          3
3          2          3
4          2          4
5          1          4

" user_battle" table(结构):(应该像这样填充)

battle_id      user_id
   1               1
   1               2
   2               1
   2               3
   3               2
   3               3
   4               2
   4               4
   5               1
   5               4

感谢,

4 个答案:

答案 0 :(得分:3)

我认为您可以使用union all来获取所需的数据:

select id, user1_id
from battle
union all
select id, user2_id
from battle;

您可以将insert into user_battle(battle_id, user_id)放在此insert的语句之前。

答案 1 :(得分:1)

insert into允许您使用select将数据从一个表格有效地“复制”到另一个表格。

使用union,您可以获得user1_iduser2_id的单独行。

insert into user_battle (battle_id, user_id)
(
  select id, user1_id from battle
  union
  select id, user2_id from battle
)

答案 2 :(得分:0)

使用联盟。

INSERT INTO user_battle (battle_id, user_id)
SELECT id, user1_id
FROM battle
UNION ALL
SELECT id, user2_id
FROM battle;

答案 3 :(得分:0)

insert into user_battle select id, user1_id from battleinsert into user_battle select id, user2_id from battle