有人可以解释一下使用之间有什么区别吗
$ 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 参数,查询运行完美,但是使用?参数,查询返回语法错误pg。