postgresql 单双引号的问题

发布于 2022-09-06 00:00:41 字数 705 浏览 24 评论 0

使用go语言的GORM 创建表。发现无法更新,发现是SQL语言的 pgAdmin 中测试发现单引号包括的字符串可以更新的而双引号的SQL语句无法更新。

比如这样的SQL语句可以更新
`
// 无法更新
// fmt.Println(update.Db.Model(&a).Where(" key = ? ", key).Updates(

    //     map[string]interface{}{
    //         "title":this.Title,
    //         "tutor_to_txt":this.TutorToTxt,
    //         // "delta_data":this.DeltaData,
    //         "updated_at":time.Now(),
    //     }))    

//无法更新
   a:=update.Db.Exec(`UPDATE "AEassay" SET title =  $1   WHERE key= $2 `, this.Title,key).GetErrors()
   
  //更新正常的
a:=update.Db.Exec(`UPDATE "AEassay" SET title =  '$1'   WHERE key= $2 `, this.Title,key).GetErrors()

`

如果包 $1 单引号去掉无法更新。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゝ杯具 2022-09-13 00:00:41

不是单 双引号的问题。 可能原生查询需要添加的。 通过二次封装的函数最好不需要,this,就是调用该方法的对象。 因为在gorm 中也会使用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文