go语言连接mssql(sqlserver)数据库执行sql语句的坑

  1. go语言连接mssql安装驱动
  2. sql语句替换变量中出问题了
    • 在看某一个视频时,替换语句是, db.Exec("delete from [user] where [id]=@id", sql.Named("id",u.id))
    • 一直报错,go err: sql: expected 0 arguments, got 1
  3. 网上查找答案,发现go连接sqlserver都是自己拼接sql的,fmt.Sprintf(),这样是不安全,没有找到一个案例是用变量的
  4. 最后试了一下把@id换成,mysql一样的,db.Exec("delete from [user] where [id]=?", u.id) 没问题了
  5. 还有一个问题,sqlserver的sql语句,由太多的自定义的东西,由很多内置关键字,使用时要用中括号,例如
    • insert into user values(?,?) 这里面user\name\age都是关键字,需要中括号
posted @   千年寒冰火  阅读(3204)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示