- go语言连接mssql安装驱动
- sql语句替换变量中出问题了
- 在看某一个视频时,替换语句是, db.Exec("delete from [user] where [id]=@id", sql.Named("id",u.id))
- 一直报错,go err: sql: expected 0 arguments, got 1
- 网上查找答案,发现go连接sqlserver都是自己拼接sql的,fmt.Sprintf(),这样是不安全,没有找到一个案例是用变量的
- 最后试了一下把@id换成,mysql一样的,db.Exec("delete from [user] where [id]=?", u.id) 没问题了
- 还有一个问题,sqlserver的sql语句,由太多的自定义的东西,由很多内置关键字,使用时要用中括号,例如
- insert into user values(?,?) 这里面user ameage都是关键字,需要中括号