1 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
查詢沒問題(只需確保它以 結(jié)尾RETURNING *id*)。
假設(shè)您只刪除一個(gè)實(shí)體,您可以QueryRow按照@mkopriva 的建議使用
package yourpackage
import (
"context"
"github.com/google/uuid"
"github.com/jackc/pgx/v4"
)
func YourMethod() {
// ...
var recordID uuid.UUID
err := pgConnPool.QueryRow(context.Background(), deleteQuery).Scan(&recordID)
if err != nil {
// handle error.
}
// recordID now contains the id of the deleted record.
}
或者包裹在處理程序中
package yourpackage
import (
"context"
"github.com/google/uuid"
"github.com/jackc/pgx/v4"
)
func DeleteRecord(/*your args*/) (uuid.UUID, error) {
var recordID uuid.UUID
// build your deleteQuery object.
err := pgConnPool.QueryRow(context.Background(), deleteQuery).Scan(&recordID)
return recordID, err
}
如果你想增加一次刪除多條記錄的可能性
package yourpackage
import (
"context"
"github.com/google/uuid"
"github.com/jackc/pgx/v4"
)
func DeleteRecords(/*your args*/) ([]uuid.UUID, error) {
var recordIDs []uuid.UUID
// build your deleteQuery object.
rows, err := pgConnPool.Query(context.Background(), deleteQuery)
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var recordID uuid.UUID
if err := rows.Scan(&recordID); err != nil {
return nil, err
}
recordIDs = append(recordIDs, recordID)
}
return recordIDs, rows.Err() // Ensure no reading error occurred
}
- 1 回答
- 0 關(guān)注
- 111 瀏覽
添加回答
舉報(bào)