我正在尝试测试将参数传递给 sql.DB.Query 方法的行为(使用 database/sql 包和位于 github.com/lib/pq 的 PostgreSQL 驱动程序)。在处理原始查询字符串以查看参数是如何插入之后,有没有办法获取原始查询字符串?例如,我在考虑编写一个准备好的查询,然后检查生成的语句。有任何想法吗?谢谢!
最佳答案
“原始查询字符串”不被客户端解析和插入;它被完整地传递给服务器。
如果查询没有参数,客户端将其作为 simple query 发送;如果查询有参数,客户端将其作为 extended query 发送参数与查询分开。然后服务器解析查询并将其参数化。
Go 的 database/sql
不包含任何日志记录,因此您必须自己编写,使用 Wireshark 嗅探流量,或者在服务器端启用日志记录。
关于sql - 在 Go 数据库/sql 包中查看带参数的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913669/