Go PostgreSQL:如何从 db.Query 中获取行数?
Posted
技术标签:
【中文标题】Go PostgreSQL:如何从 db.Query 中获取行数?【英文标题】:Go PostgreSQL: How to obtain number of rows from a db.Query? 【发布时间】:2016-01-04 17:02:59 【问题描述】:作为 PostgreSQL 连接器,我导入以下包:
_ "github.com/lib/pq"
我运行的查询是:
res, err := db.Query("SELECT id FROM applications WHERE email='" + email + "'")
其中电子邮件自然是一个字符串。计算 res 中行数的一种方法是遵循 sn-p
count:=0
for res.Next()
count++
//some other code
但应该有一些更简单(更快)的方法。看来 RowsAffected() 不是要走的路。那么,您的建议是什么?
【问题讨论】:
How to find the rows count returned from db.Query postgres的可能重复 【参考方案1】:使用COUNT
函数:
"SELECT count(*) FROM applications WHERE email='" + email + "'"
【讨论】:
请只用英文发表答案 你不应该像这样构造 SQL 查询。这很容易发生 SQL 注入,你应该使用准备好的语句。 Kulix,在这种情况下,我并不完全同意你的看法。当然,这种类型的查询很容易出现 SQL 注入,但是如果您验证 email var 是有效的电子邮件,您就可以避免这个问题。有不同的方法可以解决问题,因为评论很好,但我认为这根本不是一个错误的答案。 验证错误时会发生什么? SQL注入。这绝对是在所有情况下构造 SQL 查询的错误方法。以上是关于Go PostgreSQL:如何从 db.Query 中获取行数?的主要内容,如果未能解决你的问题,请参考以下文章