如何创建一个事务,该事务将插入,然后返回插入的数据

我正在使用REST API,因此我正在尝试为用户创建一种创建新服务凭单的方法。


除了将内容存储在db(postgres)中之外,其他所有东西都工作正常。


生成交易后,以下是该交易的摘要:


BEGIN;


INSERT INTO service_request (id, ...)

VALUES (...);


INSERT INTO media (id, filename, ...)

VALUES (...),

(...),

(...);


INSERT INTO servicerequest_media(service_request_id, media_id)

values (..., ...),

(..., ...),

(...,...);


COMMIT;

使用sqlx准备好的语句,我知道结果包含一些元数据,例如最后插入的ID。但是,如何将select查询添加到我的事务中并获取该查询的结果?


stmt, err := s.db.Prepare(CREATE_SERVICE_REQUEST)

if err != nil {

    //// 

}

res, err := stmt.Exec()

if err != nil {

    ////

}

或者,我是否需要进行第二次查询才能获得结果?


我对此很陌生,所以如果需要提供更多背景信息,请告诉我。


慕容3067478
浏览 254回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go