相关疑难解决方法(0)

Postgres中的Go和IN子句

我试图使用pq驱动程序在Go中对PostgreSQL数据库执行以下查询:

SELECT COUNT(id)
FROM tags
WHERE id IN (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

1, 2, 3切片处传递的位置tags := []string{"1", "2", "3"}.

我尝试了很多不同的东西,比如:

s := "(" + strings.Join(tags, ",") + ")"
if err := Db.QueryRow(`
    SELECT COUNT(id)
    FROM tags
    WHERE id IN $1`, s,
).Scan(&num); err != nil {
    log.Println(err)
}
Run Code Online (Sandbox Code Playgroud)

结果pq: syntax error at or near "$1".我也试过了

if err := Db.QueryRow(`
    SELECT COUNT(id)
    FROM tags
    WHERE id IN ($1)`, strings.Join(stringTagIds, ","),
).Scan(&num); err != nil …
Run Code Online (Sandbox Code Playgroud)

postgresql go

9
推荐指数
3
解决办法
4360
查看次数

使用where in子句的mysql查询中的golang切片

我正在尝试运行如下查询,但只有第一个id值返回:-

select * from `table` where table`.`id` in ('1', '2', '3', '4', '5', '6', '7', '9', '11', '13', '14', '15', '17') and `table`.`deleted_at` is null
Run Code Online (Sandbox Code Playgroud)

我已经完成以下工作:

var aID = make([]string, 0)
var in india // india is struct

for rows.Next() {
    cook := rows.Scan(&in.ID)

    aID = append(aID, strconv.Itoa(in.ID))
}

asID = strings.Join(aID, ",")

anotherRow,err := db.Query("SELECT * from table2 where id in (?)", asID)
if err != nil { fmt.Printf("Error: ", err) }
// ... Other line follows up with …
Run Code Online (Sandbox Code Playgroud)

go

8
推荐指数
2
解决办法
6085
查看次数

如何在 Rust sqlx for MySQL 中使用 IN 子句和 `Vec` 作为参数进行查询?

注意:这是一个类似但不重复的问题How to use sqlx to query mysql IN a slice? 。我要的是Rust 的

这就是我尝试做的事情。

let v = vec![..];
sqlx::query("SELECT something FROM table WHERE column IN (?)").bind(v)
 ...
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误

the trait bound `std::vec::Vec<u64>: sqlx::Encode<'_, _>` is not satisfied
Run Code Online (Sandbox Code Playgroud)

mysql rust rust-sqlx

8
推荐指数
2
解决办法
7675
查看次数

标签 统计

go ×2

mysql ×1

postgresql ×1

rust ×1

rust-sqlx ×1