我对 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")
我得到了我想要的(“Bob”,“Alice”)
但是如果我像这样运行它,rows, err = db.Query("SELECT name FROM foo ORDER BY $1", "gophers")
我会通过插入顺序(“Alice”,“Bob”)得到它们
为什么?
完整代码: http: //paste2.org/p/2537881