Return affectedRows after executing DELETE statement #2808
-
| Hello, I am wondering if there is an option we can enable to return the number of affected rows after a  A real-use case is testing with Postman. I am testing my requests for different scenarios and receiving always null makes it difficult to know if I actually deleted an existing row or not. This is the current function generated by  func (q *Queries) DeleteAccount(ctx context.Context, id int64) error {
	_, err := q.exec(ctx, q.deleteAccountStmt, deleteAccount, id)
	return err
}I am wondering if there is a way to generate something like this: func (q *Queries) DeleteAccount(ctx context.Context, id int64) error {
	result, err := q.exec(ctx, q.deleteAccountStmt, deleteAccount, id)
	if err != nil {
		return err
	}
	affRows, _ := result.RowsAffected()
	if affRows == 0 {
		return sql.ErrNoRows
	}
	return err
}Thanks in advance. | 
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
| You're in luck, as we already have this option. Instead of using  CREATE TABLE authors (
  id   BIGSERIAL PRIMARY KEY,
  name text      NOT NULL,
  bio  text
);
-- name: DeleteAuthor :execrows
DELETE FROM authors
WHERE id = $1;which generates the code you're looking for func (q *Queries) DeleteAuthor(ctx context.Context, id int64) (int64, error) {
	result, err := q.db.ExecContext(ctx, deleteAuthor, id)
	if err != nil {
		return 0, err
	}
	return result.RowsAffected()
} | 
Beta Was this translation helpful? Give feedback.
You're in luck, as we already have this option. Instead of using
:exec, use:execrows.which generates the code you're looking for