Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Golang MySQL truy vấn số lượng args không xác định bằng cách sử dụng toán tử IN

Stmt.Query() có một tham số đa dạng:

func (s *Stmt) Query(args ...interface{}) (*Rows, error)

Điều này có nghĩa là bạn có thể sử dụng dấu chấm lửng ... để chuyển một giá trị lát cắt làm giá trị của thông số đa dạng, nhưng lát cắt đó phải thuộc loại []interface{} , ví dụ:

var args []interface{}
for _, v := range r.Form["type"] {
    t, _ := strconv.Atoi(v)
    args = append(args, t)
}

// ...

rows, err := stmt.Query(args...)

Thay vào đó, bạn có thể tạo trước truy vấn SQL và thực thi mà không cần chuyển đối số truy vấn, ví dụ, hãy xem Mệnh đề Go và IN trong Postgres .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. hướng dẫn tốt nhất để sử dụng khung thực thể, POCO và MySQL

  2. Sử dụng đúng cách tự động gửi và khôi phục php mysqli

  3. Cập nhật bảng với SUM từ một bảng khác

  4. Thiết kế của cơ sở dữ liệu công cụ khuyến nghị?

  5. Cam kết dữ liệu trong vùng chứa mysql