草庐IT

db_field_data

全部标签

mysql - 具有多个参数的 Golang 数据库/sql.DB.QueryRow

我想执行这样的查询(使用MySql):select*fromuserwhereid=5Ex1.这将返回err=sql.ErrNoRows:err:=db.QueryRow("select*fromuserwhere?=?",f,v).Scan(&user.Id,etc...)Ex2.由于上面的方法不起作用,我正在这样做,它起作用但感觉不对:err:=db.QueryRow("select*fromuserwhere"+f+"=?",v).Scan(&user.Id,etc...)Ex中有什么问题?1?Ex2.是一种可以接受的方法吗?编辑从评论中的链接我可以用第三种方式来做。示例3:q:

database - 无法使 Goose DB Migration 用于 Go 测试

我目前正在学习用于Web编程的Golang,现在我将继续学习数据库、RestAPI和Golang中的测试。现在我遇到了Goose的问题数据库迁移和Go测试集成。我想将goose迁移集成到我的Go测试代码中,我的方案是在测试之前启动所有迁移,然后在测试完成后重置所有数据库。我的问题是我找不到任何文档/示例代码来使用Goose.我也尝试执行goose命令使用exec.Command()但它始终返回exitstatus1这是我在执行测试之前触发迁移的现有代码:funcpretest(){varargs=[]string{os.Getenv("DB_SERVER"),"\"user="+os.

go - Group 没有实现 Data(FooMethod 方法有指针接收器)

这是我的代码:packagemainimport"fmt"typeGroupstruct{}func(g*Group)FooMethod()string{return"foo"}typeDatainterface{FooMethod()string}funcNewJsonResponse(dData)Data{returnd}funcmain(){vargGroupjson:=NewJsonResponse(g)fmt.Println("vim-go")}但没有像我预期的那样工作。$gobuildmain.go#command-line-arguments./main.go:22:ca

go - 调用 db.Ping() 时的无限循环

我正在尝试创建到数据库的基本连接。当我尝试使用db.Ping()测试连接时出现问题;一切正常,直到我到达这条线。Ping将程序发送到无限循环(函数调用永远不会返回),我不确定如何解决这个问题。packagemainimport("database/sql""fmt""html/template""net/http"_"github.com/lib/pq"}typePagestruct{NamestringDBStatusbool}const(host="localhost"port=8080user="username"password="password"dbname="GoTest

mysql - 无法使用 *DB.Rows() 获取所有行

我是gorm的新手,所以如果我有什么误解,请指出。我正在使用MySQL编写小型应用程序,我决定使用gorm作为ORM。源代码和输出如下。packagemainimport("fmt""log""github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/mysql")typeGroupstruct{gorm.ModelNamestring`gorm:"notnull;unique"`}funcopenDB()*gorm.DB{user:="ipmonitor"password:="testpassword"database:="ip

Golang TCP 服务器 : how to write HTTP2 data

我是HTTP/2.0的新手,我正在尝试设置一个用Golang编写的TCP服务器,它接收和写入HTTP/2.0帧。我在将任何数据写回客户端时遇到问题。以下代码片段显示了如何处理请求。conn,err:=l.Accept()iferr!=nil{log.Fatal("couldnotacceptconnection:",err)}deferconn.Close()//Everyconnectionstartswithaconnectionprefacesendfirst,whichhastobereadprior//toreadinganyframes(RFC7540,section3.5

go - 无法理解 go test -race : RACE: DATA WARNING stack trace

我在测试我的项目时遇到了DATARACE警告,想知道是否有人愿意帮助我破译这个问题。我过去从未尝试过测试go例程,我发现很难全神贯注于数据竞赛。我在描述中提供了指向未解决问题的链接,并在问题描述中提供了跟踪。我真的很感激一些帮助,只是从学习调试类似问题和为将来的go例程编写更好的测试方面。https://github.com/nitishm/vegeta-server/issues/52下面还提供了跟踪的片段===RUNTest_dispatcher_Cancel_Error_completedINFO[0000]creatingnewdispatchercomponent=dispa

mysql - 无法连接到 DB : database is closed

我有以下项目结构:-main.go-db--dbinit.go在dbinit.go中,我有以下代码:packagedbimport("database/sql"_"github.com/go-sql-driver/mysql")varDb*sql.DBvarerrerrorfuncinit(){Db,err=sql.Open("mysql","myDBCreds")deferDb.Close()}在main.go中我有:packagemainimport(db"./db")funcmain(){deferdb.Db.Close()sqlStatement:=`INSERTINTOtab

python - 是否可以将 Python GAE db.GeoPt 移植到 Go 类型?

我正在努力将最初用Python编写的现有GAE应用程序移植到Go。到目前为止,它非常棒而且相当简单(尽管它并非没有怪癖)。由于此端口将部署到不同版本的同一个GAE应用程序,因此这两个版本将共享同一个数据存储。问题在于原始Python应用程序广泛使用了db.GeoPt类型。我在我的一种类型上实现了自己的自定义PropertyLoadSaver,这样我就可以通过反射了解如何在Go中表示db.GeoPt。但显然db.GeoPt的内存布局与Go中的任何内容都不兼容。有人知道我会怎么做吗?以前有人这样做过吗?这里有一些代码可以让你们更好地了解我在做什么:func(sS*SomeStruct)Lo

mysql - Go:如何使用 sql/db 包从 mysql 检索多个结果

我正在尝试使用Go中的sql/db包从表中获取数据。我的数据库表包含一个用户名“shaw”。有几行用户名shaw在附加的帖子列中有不同的帖子。我有以下代码:开始:funcReadData()string{db,err:=sql.Open("mysql","user1@/my_db")iferr!=nil{fmt.Println(err)}deferdb.Close()vartweetstringrows,err:=db.Query("selecttweetfrompostswhereusername=?","shaw")iferr!=nil{fmt.Println(err)}defer