在web应用程序中向mysql插入多行

edqdpe6u  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(246)

用户可以选择歌曲列表并将其添加到播放列表中。歌曲和播放列表之间的关系有一个桥接表。
当用户将歌曲分配给播放列表时,应用程序将接收歌曲id和播放列表id的列表。插入桥接表的行数与歌曲数相同。
我可以为每首歌调用查询(这看起来效率很低,但是很有用),或者我可以制定查询以一次插入所有数据。我的问题是如何表述这个问题。
我有一个歌曲ID列表

[1, 2, 3, 4, 5, 6, 7,]

和播放列表id(只是一个int)。
我的sequelize查询如下所示:

sequelize.query(
        `INSERT INTO songsplaylistsbridge (song, playlist)
        VALUES ($1, $2);`, {
          bind: [songs, playlist]
        }
      )

通过在mysql中插入多行,我理解了查询应该是什么样子的,但是我不能想出一个for循环来生成一个可用的对象。
我有一张清单

['(1, 43)', '(2, 43)', '(3, 43)', '(4, 43)']

…等等。如何将这些值适当地插入到查询中?谢谢您

vqlkdk9b

vqlkdk9b1#

不要使用 bind ,只需编写查询文本:

var values = ['(1, 43)', '(2, 43)', '(3, 43)', '(4, 43)'];
var query = "INSERT INTO songsplaylistsbridge (song, playlist) VALUES " + values.join(", ");
console.log(query);

相关问题