sqlx icon indicating copy to clipboard operation
sqlx copied to clipboard

Automatically support "IN" clause and parameter expansion in select, exec, namedSelect, and namedExec methods

Open suiriass opened this issue 2 years ago • 0 comments

https://github.com/go-sqlx/sqlx/issues/18 Description:

Currently, when using the select, exec, namedSelect, and namedExec methods with an "IN" clause, we need to manually call a function to handle the parameter expansion. This can be cumbersome and less user-friendly compared to other ORM libraries like GORM, which automatically handle this.

It would be great if SQLx could automatically support the "IN" clause and parameter expansion in these methods, making it more convenient and easier to use.

Example:

Current usage:

query, args, err := sqlx.In("SELECT * FROM users WHERE id IN (?)", []int{1, 2, 3})
if err != nil {
    // handle error
}
query = db.Rebind(query)
rows, err := db.Query(query, args...)

Desired usage:

rows, err := db.Select("SELECT * FROM users WHERE id IN (?)", []int{1, 2, 3})

This enhancement would improve the developer experience and make SQLx more competitive with other ORM libraries. The number of apis can be significantly reduced

suiriass avatar Aug 18 '23 07:08 suiriass