postgresql 单双引号的问题

凰tu
  • 228

使用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 单引号去掉无法更新。

回复
阅读 3.5k
1 个回答
✓ 已被采纳

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏