如何使用ScalaQuery插入自动递增的主/从记录?

如何使用ScalaQuery插入自动递增的主/从记录?,scala,transactions,insert,scalaquery,Scala,Transactions,Insert,Scalaquery,经典的问题,新的框架——这样的问题 PostgreSQL+Scala+ScalaQuery。我有带串行(AUT增量)id的主表和带串行id的从表 我需要插入一个主记录和几个从属记录。我必须在事务中执行此操作(以便能够取消所有操作),因此我无法在插入主记录后运行查询以查找id。据我所知,SQ“insert”方法不会返回对插入的主记录的任何引用 那么怎么做呢? SQ示例涵盖了这一点,但是没有自动递增字段,因此这种解决方案(预设ID)在这里不适用。如果我理解正确,目前无法自动实现。如果一个人不害怕,这

经典的问题,新的框架——这样的问题

PostgreSQL+Scala+ScalaQuery。我有带串行(AUT增量)id的主表和带串行id的从表

我需要插入一个主记录和几个从属记录。我必须在事务中执行此操作(以便能够取消所有操作),因此我无法在插入主记录后运行查询以查找id。据我所知,SQ“insert”方法不会返回对插入的主记录的任何引用

那么怎么做呢?


SQ示例涵盖了这一点,但是没有自动递增字段,因此这种解决方案(预设ID)在这里不适用。

如果我理解正确,目前无法自动实现。如果一个人不害怕,这可以这样做。获取上次插入的id(每次主记录插入):

然后在SQ中使用它:

这段代码展示了MySql的方式。我正在把它贴到名单上 为了子孙后代

val scopeIdentity=SimpleFunction.nullaryLong

val inserted=Actions.insert( “猫”、“吃”、“狗”)

//打印出插入记录的计数。println(插入)

//打印出上次插入记录的主键。 println(查询(scopeIdentity).first)

//问候//Bryan

但是,由于对于自动递增的字段,您必须使用不包括autoinc字段的投影,然后插入元组而不是命名的记录类型,因此有一个问题,在SQ直接支持这一点之前,是否值得屏住呼吸

注意我是SQ新手,我可能只是误报了你