草庐IT

MySQL事务

全部标签

go - 使用事务进行 sqlite 查询?

我正在处理一项作业,该作业要求我们使用sqlite进行交易。这是我正在努力解决的部分:openthedatabaseandstartatransaction.Callthefunctiontoreadinallthezoneswiththattransaction,thencommitthetransactionwhenitreturns因为我只是查询数据库而不是插入/更新,所以我认为我不需要在设置事务方面做太多事情。这就是我正在使用的database,_:=sql.Open("sqlite3","./world.db")tx,_:=database.Begin()rows,err:=

mysql - 无法将 mysql 中的时间戳值提取到 time.Time 变量中

我无法将mysql时间戳值放入time.Time变量中我正在尝试扫描一行,除了mysql中的时间戳类型外,所有值都已成功扫描,我已经在使用dsnparseTime=true,这是我搜索的问题之一,但它没有帮助typeTagsstruct{IDintCreatedAttime.Time`json:"created_at"`}funcfoo5(){http.HandleFunc("/tags/",bar5)http.ListenAndServe(":8080",nil)}funcbar5(whttp.ResponseWriter,r*http.Request){db,err:=sql.Op

go - 使用事务运行 Go 测试

我有使用FoundationDB的Go代码,我想测试它。我从字面上复制了GotestfromApple'sGithub.当我取消注释在事务中实际运行Set的行时,测试挂起然后超时。(该行仍然被注释掉,它按预期工作。)funcTestExampleTransactor(t*testing.T){fdb.MustAPIVersion(400)//Note:testbehavesthesamewithMustAPIVersion(600)db:=fdb.MustOpenDefault()setOne:=func(tfdb.Transactor,keyfdb.Key,value[]byte)e

mysql - 通过 API 创建数据未使用 beego 保存

版本:beeversion______|___\||_//______|___\/_\/_\||_//|__/|__/\____/\___|\___|v1.10.0├──Beego:1.11.1├──GoVersion:go1.12.1创建一个beego项目:beenewquickstart使用beego的bee工具生成post脚手架:beegeneratescaffoldpost-fields="title:string,body:text"-driver=mysql-conn="root:root@tcp(127.0.0.1:3306)/quickstart"路由器/router.

mysql - 使用错误的排序规则连接到 mysql 服务器?

我有一个Golang程序,它可以连接到具有不同字符集或排序规则的数据库。例如,在编写GolangMYSQL驱动程序时默认为utf8mb4_general_cihttps://github.com/go-sql-driver/mysql#collation但是,如果我连接到这样配置的数据库:CREATEDATABASEexamplecharactersetutf8mb4collateutf8mb4_unicode_ci;我可以预料“坏事会发生”吗?索引不起作用? 最佳答案 在大多数情况下,没有问题。例如,当使用WHEREcolumn=

mysql - 避免循环 - 递归 m2m 关系自引用

这不是关于golang或mysql的问题,它更像是一个一般性问题。希望我仍然在正确的地方,有人可以帮助我解决这个问题。我有一个结构Role,它可以有多个子角色。typeRolestruct{NamestringChildren[]Role}假设角色A有一个子角色B,角色B有一个子角色C。在我的前端,m2m关系显示为多选HTML字段。为避免无限循环(A-B-C-A...),我希望用户无法输入相关角色之一。例如,角色C不应显示角色A和B,因为如果用户选择它们,则会发生无限循环。后台的数据库是这样的:角色表(主表)身份证,姓名,...role_roles(联结表)role_id,child_

MYSQL并发选择和更新

我无法理解如何使用多个goroutine选择然后更新表。在db和stmt的文档中它说:“多个goroutines并发使用是安全的。”我也使用交易但没有成功。我想启动7个goroutines并获取每一行。数据+--------+-----------+---------------------+|idTest|someValue|date|+--------+-----------+---------------------+|1|1|2019-06-1111:29:42||2|2|2019-06-1111:29:42||3|3|NULL||4|4|NULL||5|5|NULL||6|6

Gorm 多个事务以删除旧的搜索条件

bg:=Db.Begin()UDebt:=make([]UserDebt,0)page,_:=strconv.Atoi(c.DefaultPostForm("page","1"))limit,_:=strconv.Atoi(c.DefaultPostForm("limit","20"))db:=Db.Model(&UDebt).Preload("User")start:=c.PostForm("start")ifstart!=""{db=db.Where("datetime>=?",start)bg=bg.Where("datetime>=?",start)}debts:=make([

go - 寻找一种在golang mysql中查看内插查询的方法

所以,我有一个相当复杂的查询,我正在尝试调试它,但举一个简单的例子,假设我有这样的事情:q:="SELECTidFROMusersWHEREtimestamp>?ANDtimestamp我将按照通常的方式对此执行Query(),例如db.Query(q,1546300800,1561127488)我想记录/println/任何(用于调试)内插查询,以结束SELECTidFROMusersWHEREtimestamp>1546300800ANDtimestamp想知道这里是否有人对我有窍门。 最佳答案 根据@mkopriva的评论,N

mysql - 启用远程 MySQL 连接 : ERROR 1045 (28000): Access denied for user

运行在WindowsXP上的MySQL5.1.31。从本地MySQL服务器(192.168.233.142)我可以以root身份连接,如下所示:>mysql--host=192.168.233.142--user=root--password=redacted从远程机器(192.168.233.163),我可以看到mysql端口是打开的:#telnet192.168.233.1423306Trying192.168.233.142...Connectedto192.168.233.142(192.168.233.142).但是当尝试从远程机器连接到mysql时,我收到:#mysql--