Javascript 在web应用程序中向mysql插入多行
用户可以选择歌曲列表并将其添加到播放列表中。歌曲和播放列表之间的关系有一个桥接表 当用户将歌曲分配给播放列表时,应用程序将收到歌曲ID和播放列表ID的列表。插入桥接表的行数和歌曲数相同 我可以为每首歌调用查询(这看起来效率很低,但很有用),或者我可以制定查询以一次插入所有数据。我的问题是关于提出这项质询 我有一个歌曲ID列表Javascript 在web应用程序中向mysql插入多行,javascript,mysql,sequelize.js,Javascript,Mysql,Sequelize.js,用户可以选择歌曲列表并将其添加到播放列表中。歌曲和播放列表之间的关系有一个桥接表 当用户将歌曲分配给播放列表时,应用程序将收到歌曲ID和播放列表ID的列表。插入桥接表的行数和歌曲数相同 我可以为每首歌调用查询(这看起来效率很低,但很有用),或者我可以制定查询以一次插入所有数据。我的问题是关于提出这项质询 我有一个歌曲ID列表 [1, 2, 3, 4, 5, 6, 7,] 和一个播放列表id(只是一个int) 我的sequelize查询如下所示: sequelize.query(
[1, 2, 3, 4, 5, 6, 7,]
和一个播放列表id(只是一个int)
我的sequelize查询如下所示:
sequelize.query(
`INSERT INTO songsplaylistsbridge (song, playlist)
VALUES ($1, $2);`, {
bind: [songs, playlist]
}
)
我理解查询应该是什么样子,但我不能想出一个for循环来生成一个可用的对象
我有一张清单,看起来像
['(1, 43)', '(2, 43)', '(3, 43)', '(4, 43)']
……等等。如何将这些值适当地插入查询中?谢谢不要使用
绑定
,只需编写查询文本即可:
var值=['(1,43)'(2,43)'(3,43)'(4,43)';
var query=“插入歌曲列表桥(歌曲、播放列表)值”+值。连接(“,”;
console.log(查询)
如果在一个名为songlist
的变量中有这样一个列表,那么只需执行songlist.join(',')
即可获得与单个逗号分隔列表相同的列表,如“(1,43),(2,43),…”
。你可以看到答案。我不能告诉你如何在你的sequelize声明中使用它;我从来没有用过它。MySQL允许一个查询向表中插入许多行。这就是我缺乏基础知识的地方,非常明显,谢谢你,先生。