参数绑定方式

  • 1 顺序绑定

在调用Exce,Query等函数时,按照SQL语句中占位符的顺序,依次填入参数到函数的参数中,并保证数量与SQL语句占位符数量相同,参数值直接用逗号分隔。

  • 2 按名称绑定

通过SQL语句中占位符的名称进行参数绑定,需要生成NamedArg类型,有两种方式:

  • 1) 人工定义NamedArg类型
type NamedArg struct {
Name string
Value interface{}
            }

Name参数为SQL语句中占位符的名称,Value为待绑定的参数值。

  • 2) 通过sql.Named() 函数返回NamedArg类型

使用sql.Named() 函数返回NamedArg类型的变量,并将该变量作为Exce,Query函数的参数。如sql语句:

var querySQL string = “ select col1 from test where col1 = :val ”
db.Query( querySQL, sql.Named(“val”,  1234))

小技巧

通过名称进行参数绑定要求SQL语句中的占位符名称以“冒号+字母”开头。