撰写 "Insert...Select...Where" 查询

Compose "Insert...Select...Where" query

我正在尝试使用 Slick 3.0 编写查询,但似乎无法弄明白。

相当于SQL是"insert into SavedMail select * from Inbox where Inbox.id = 1"

val mailTable = TableQuery[Tables.Inbox]
val savedMailTable = TableQuery[Tables.Savedmail]
val select = mailTable.filter(_.id === msgId)

我现在不知道如何插入。帮助表示赞赏。

这是我想出的解决方案。也许有一种不使用 forceInsertQuery 的方法,但是,嘿,这行得通。

val mailTable = TableQuery[Tables.Inbox]
val savedMailTable = TableQuery[Tables.Savedmail]

val select = mailTable.filter(_.id === msgId).map(c => (c.id, c.touserid, c.fromuserid, c.mailtype, c.subject, c.msg, c.postdate))
val q = savedMailTable.map(c => (c.id, c.touserid, c.fromuserid, c.mailtype, c.subject, c.msg, c.postdate)) forceInsertQuery select