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都是关键字,需要中括号


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM