Go gorm 使用gorm和gorm日志sql:应为0个参数,得到1个
GORM日志sql:应为0个参数,得到1个 我的代码是Go gorm 使用gorm和gorm日志sql:应为0个参数,得到1个,go-gorm,Go Gorm,GORM日志sql:应为0个参数,得到1个 我的代码是 func GetPipelineConfigKey(riskConfigKey string) string{ var PipelineConfigKey string sql := fmt.Sprintf("SELECT context_name FROM hawk_context_name WHERE id = (SELECT service_line_id FROM risk_predict_config_key WH
func GetPipelineConfigKey(riskConfigKey string) string{
var PipelineConfigKey string
sql := fmt.Sprintf("SELECT context_name FROM hawk_context_name WHERE id = (SELECT service_line_id FROM risk_predict_config_key WHERE config_key = '%s');", riskConfigKey)
contextDb.Exec(sql, &PipelineConfigKey)
return PipelineConfigKey
}
Exec
具有以下签名
func (s *DB) Exec(sql string, values ...interface{}) *DB {
values在这里是一个varargs参数,对于传递给Exec的每个变量,sql查询中都应该有一个?
。您传递了1个参数,但查询不需要任何参数(否?
)。这就是为什么会出现以下错误
sql: expected 0 arguments, got 1
也许您想将结果保存在PipelineConfigKey
中。用这种方法
创建一个结果结构
type Result struct {
Name string
}
和扫描结果
db.Raw(sql).Scan(&result)
完整代码:
type Result struct {
Name string
}
func GetPipelineConfigKey(riskConfigKey string) string{
sql := fmt.Sprintf("SELECT context_name FROM hawk_context_name WHERE id = (SELECT service_line_id FROM risk_predict_config_key WHERE config_key = '%s');", riskConfigKey)
db.Raw(sql).Scan(&result)
return result.Name
}
Exec
具有以下签名
func (s *DB) Exec(sql string, values ...interface{}) *DB {
values在这里是一个varargs参数,对于传递给Exec的每个变量,sql查询中都应该有一个?
。您传递了1个参数,但查询不需要任何参数(否?
)。这就是为什么会出现以下错误
sql: expected 0 arguments, got 1
也许您想将结果保存在PipelineConfigKey
中。用这种方法
创建一个结果结构
type Result struct {
Name string
}
和扫描结果
db.Raw(sql).Scan(&result)
完整代码:
type Result struct {
Name string
}
func GetPipelineConfigKey(riskConfigKey string) string{
sql := fmt.Sprintf("SELECT context_name FROM hawk_context_name WHERE id = (SELECT service_line_id FROM risk_predict_config_key WHERE config_key = '%s');", riskConfigKey)
db.Raw(sql).Scan(&result)
return result.Name
}