首页 > 解决方案 > $1 和 有什么区别?在 db.query

问题描述

有人可以解释一下使用之间有什么区别吗

1美元

query, err := b.Db.Prepare("SELECT id, name, owner, coordinates, reason_froggy FROM Business WHERE name ilike $1")
    if err != nil {
        return business_list, err
    }
    rows, err := query.Query("%" + business + "%")
    if err != nil {
        return business_list, err
    }

?

query, err := b.Db.Prepare("SELECT id, name, owner, coordinates, reason_froggy FROM Business WHERE name ilike ?")
    if err != nil {
        return business_list, err
    }
    rows, err := query.Query("%" + business + "%")
    if err != nil {
        return business_list, err
    }

它们应该以与匿名参数相同的方式工作,还是它们不同?

另一件事是,使用$1参数,查询运行完美,但使用? param 查询返回一个 pg 语法错误。

标签: postgresqlgo

解决方案


推荐阅读