golang golang动态db查询更新记录而不反映
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang golang动态db查询更新记录而不反映相关的知识,希望对你有一定的参考价值。
package main
import (
"fmt"
"database/sql"
"encoding/json"
"strings"
"time"
)
type Request struct {
Name *string
MediaID *int
ProductID *int
IsDisabled *int
Description *string
}
func main() {
var (
unmurshal map[string]interface{}
columns []string
values []interface{}
)
id := 100
data := Request{nil, nil, nil, 1, nil}
//column can update
columnStr := []string{"name", "media_id", "product_id", "is_disabled"}
// easy without reflection only use marhsal
vm, _ := json.Marshal(data)
_ := json.Unmurshal(vm, &unmurshal)
for _, column := range unmarshal {
for key, value := range columnStr {
if column == key && value != nil {
columns = append(columns, fmt.Sprintf("%s ?,", column))
values = append(values, value)
}
}
}
columns = append(columns, "updated_at + ?")
values = append(values, time.Now())
values = append(values, id)
//joining string
queryStr := "update my_table set " + strings.Join(columns, " ") + "where id = ? "
fmt.Println(queryStr)
}
如何使用 golang 的 mgo 包进行类似查询
【中文标题】如何使用 golang 的 mgo 包进行类似查询【英文标题】:how to do a like query using mgo package for golang
【发布时间】:2015-03-31 05:14:11
【问题描述】:
我正在尝试使用 mgo 进行 like
查询,但没有成功。
我想要的是一个类似于
的mongodb查询
db.organisation.find( "permalink" : /org.*/ )
我还是卡在
sess.DB(db).C(cApp).
Find(bson.M"permalink": "org:bms.*").
All(&m)
【问题讨论】:
【参考方案1】:
使用bson.Regex指定正则表达式值:
sess
.DB(db)
.C(cApp)
.Find(bson.M"permalink": bson.RegEx"org.*", "")
.All(&m)
【讨论】:
以上是关于golang golang动态db查询更新记录而不反映的主要内容,如果未能解决你的问题,请参考以下文章
golang GoLang数据库SQL:从查询中选择未知数量的列。基准测试结果为db_test.go
如何使用 golang 的 mgo 包进行类似查询
golang配制高性能sql.DB
更新变量时动态刷新模板的一部分golang
对MySQL DB进行动态SQL查询
带有 mgo 的 Go (golang) 中的 MongoDB:如何更新记录、确定更新是不是成功并在单个原子操作中获取数据?