Go和SQL参数

我对SQL查询的参数有问题。在这种情况下,我从ORDER BY查询中得到了意外的结果。我在OSX上运行PostgreSQL [1],然后转到v1.0.3。

我有一个包含两列的表:name varchar,gophers int

插入的行是:(“ Alice”,2)和(“ Bob”,1)

如果我这样运行查询:rows, err := db.Query("SELECT name FROM foo ORDER BY gophers")我得到了想要的内容(“鲍勃”,“爱丽丝”)

但是,如果我像这样运行它,则rows, err = db.Query("SELECT name FROM foo ORDER BY $1", "gophers")可以通过插入顺序(“爱丽丝”,“鲍勃”)来获得它们

为什么?

完整代码:http://paste2.org/p/2537881

[1] https://github.com/bmizerany/pq


jeck猫
浏览 234回答 1
1回答

梦里花落0921

我根本不知道这是一个问题。在psql中我做了PREPARE  test (text) AS SELECT name FROM foo  ORDER BY $1;EXECUTE test('a');我得到了 name   ------- alice bob (2 rows)我想知道您是否可以按$ 1进行订单。我用Google搜索了一下,但是找不到有用的东西。我知道这不是答案,但在我看来这可能是问题所在。我希望我能找到一些关于ORDER BY是否支持参数的信息
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go