diff --git a/dialect/sql/builder.go b/dialect/sql/builder.go index f07d52d11..0eda2bcb7 100644 --- a/dialect/sql/builder.go +++ b/dialect/sql/builder.go @@ -539,7 +539,7 @@ func (i *InsertBuilder) Default() *InsertBuilder { // Returning adds the `RETURNING` clause to the insert statement. PostgreSQL only. func (i *InsertBuilder) Returning(columns ...string) *InsertBuilder { - i.returning = append(i.returning, columns...) + i.returning = columns return i } diff --git a/dialect/sql/builder_test.go b/dialect/sql/builder_test.go index c4bb52b33..099072746 100644 --- a/dialect/sql/builder_test.go +++ b/dialect/sql/builder_test.go @@ -200,6 +200,11 @@ func TestBuilder(t *testing.T) { wantQuery: `INSERT INTO "users" ("age") VALUES ($1) RETURNING "id"`, wantArgs: []interface{}{1}, }, + { + input: Dialect(dialect.Postgres).Insert("users").Columns("age").Values(1).Returning("id").Returning("name"), + wantQuery: `INSERT INTO "users" ("age") VALUES ($1) RETURNING "name"`, + wantArgs: []interface{}{1}, + }, { input: Insert("users").Columns("name", "age").Values("a8m", 10), wantQuery: "INSERT INTO `users` (`name`, `age`) VALUES (?, ?)",