当前位置: 代码迷 >> 综合 >> go里面报错sql: expected 0 arguments, got 1 问题的解决
  详细解决方案

go里面报错sql: expected 0 arguments, got 1 问题的解决

热度:56   发布时间:2024-01-26 02:25:36.0

之前搞java比较多,用go也是用gorm,xorm这些orm框架,直接拿着sql.db对象去操作数据库比较少,一不小心就掉进一个小坑里面去了,golang操作postgres数据库可以用lib/pg驱动,写查询条件参数的时候例如

select  a from b where c=?

这么写在java里面是没有问题,但是在golang里面不写,会报无效字符,针对postgres数据库写条件参数需要用$1,$2这样的,正确的写法是:

select a from b where c=$1

但是。。。。换到oracle数据库的话,这么写就又不行了,针对oracle如果用?的话会提示:

sql: expected 0 arguments, got 1

针对oracle的正确写法是

select a from b where c=:param1

就是冒号:加参数名称这样的

我靠,用框架的话真不知道还有这些坑啊!

 

 

  相关解决方案