将数据填入具有m:m关系的表中

时间:2013-11-18 01:31:09

标签: mysql select join insert

有3个表

1. Artist(artist_id,artist_name)
2. top100(track_id,artist_name)
3. Track_artist(track_id,artist_id)

artist_id track_id 是各自表格中的主键。在 track_artist 表填充数据后, track_id artist_id 将被引用为外键。 艺术家 top100 表格中填充了数据。艺术家表格中约有26000行, top100 中有7770行表。我必须填写 track_artist 表,任何人都可以帮我查询一下吗?我正在使用mysql v5.5

1 个答案:

答案 0 :(得分:2)

你在找这样的东西吗?

INSERT INTO Track_artist (track_id, artist_id)
SELECT t.track_id, a.artist_id
  FROM top100 t JOIN artist a 
    ON t.artist_name = a.artist_name

这是 SQLFiddle 演示