草庐IT

db_constraint

全部标签

go - 在结构中取消引用指向 DB 的指针

通常,当我看到在结构上声明的字段时,它没有指针或取消引用的指针符号*,但是在几个代码片段中,我看到结构中的数据库字段带有指针取消引用,如下所示。为什么有必要?typeDBstruct{*bolt.DB}funcOpen(pathstring,modeos.FileMode)(*DB,error){db,err:=bolt.Open(path,mode)iferr!=nil{returnnil,err}return&DB{db},nil} 最佳答案 oradereferencedpointersymbol*这是规范,对于复杂的非值类型

postgresql - 如何将参数传递给 db.exec

考虑db.Exec语句,db.Exec("INSERTINTO$1values($2,$3,to_timestamp($4),var1,var2,var3,var4)^^可以,但是如果我想做类似的事情db.Exec("INSERTINTOtable_name_$1values($2,$3,to_timestamp($4),var1,var2,var3,var4)它不起作用,$1被附加到表名而不是$1的值,我如何将它添加到查询中? 最佳答案 既然你说第一个例子有效,一个解决方案是将完整的表名作为参数传递,预先进行字符串连接:db.Ex

go - 为什么我的 tiedot DB 指针为零?

varmyDB*db.DBfuncinit(){myDB,err:=db.OpenDB("db")iferr:=myDB.Create("Feeds");err!=nil{}iferr:=myDB.Create("Votes");err!=nil{}}funcidb(){for_,name:=rangemyDB.AllCols(){fmt.Printf("Ihaveacollectioncalled%s\n",name)}}funcmain(){idb()}我收到以下错误:runtimeerror:invalidmemoryaddressornilpointerdereference这

mysql - 使用 sql.DB 的无效内存地址或 nil 指针取消引用

我目前正在学习Go并尝试制作一个小的SQL工具集:typeDBUtilsstruct{UserstringPasswordstringHoststringDatabasestringHandle*sql.DB}func(dbUtilDBUtils)Connect(){varerrerrordbUtil.Handle,err=sql.Open("mysql",dbUtil.User+":"+dbUtil.Password+"@tcp("+dbUtil.Host+")/"+dbUtil.Database)iferr!=nil{panic(err.Error())}err=dbUtil.Ha

mysql - Golang - 将数据插入 MySQL DB 时流意外结束

我目前正在用Golang编写代码来处理POST请求并将数据存储到MySQL数据库中。这是我到目前为止所写的内容。packagemainimport("fmt""os""log""net/http""database/sql""golang.org/x/crypto/bcrypt"_"github.com/go-sql-driver/mysql")varmyLogger*log.Loggervardb*sql.DBvarerrerrortypeUserRegistrationDatastruct{emailstringpasswordstring}funchandler(whttp.Re

GORM 戈朗 : the purpose of cloning DB instance

在过去的几个星期里,我刚刚了解了GORM作为数据库ORM。检查代码内部后,每个命令(limit、order、where、or、select等)都通过克隆当前数据库返回新实例。这里有没有人知道克隆数据库而不是使用当前实例的主要目的是什么?当我有命令select、where、limit、order、join时,这将是克隆数据库实例的5次。据我所知,在内存上创建对象很昂贵。 最佳答案 目的是能够存储您的查询的“临时”实例,以便以后能够派生它们。也就是说,如果您有许多共享序列某些部分的查询,您应该能够执行类似的操作q:=gorm.Selec

dictionary - map[gorm.DB]struct{}{} 给出无效的映射键类型 gorm.DB

我想创建一组在我的应用程序中使用的gorm类型。所以我想用我的类型定义一个mapgorm.DB作为键和空的结构{}作为标志:var(autoMigrationsmap[gorm.DB]struct{})但是编译器不允许我这样做并出现错误:invalidmapkeytypegorm.DB。我可以使用指向gorm.DB的指针来欺骗它,例如:map[*gorm.DB]struct{}但这不是解决方案,因为我需要使它独一无二,如果我的map像db.AutoMigrate(&Chat{})一样填充,我可以获得许多具有不同地址的相似对象。另一个解决方案是制作一片gorm.DB:autoMigrat

mongodb - 如何在 Golang 的 MGO mongo db 驱动程序中获取我的文档的 ObjectId (_id)

我正在使用MGO(因为我没有发现比它更好的东西)。我玩过它并得到了一些结果,但我不明白如何获取接收到的文档的_id(内部MongoObjectId)?例如:typeFunnyNumberstruct{Valueint_idstring}session,err:=mgo.Dial("127.0.0.1:27017")iferr!=nil{panic(err)}defersession.Close()//Optional.Switchthesessiontoamonotonicbehavior.session.SetMode(mgo.Monotonic,true)c:=session.DB

go - 如何从另一个文件或包导入 gorm db 连接

我正在学习go,我最近学习了如何利用gorm连接到数据库。我不知道如何导入所述连接。仅在funcmain()的范围内打开和延迟它的关闭我目前拥有的:funcmain(){db,_:=gorm.Open("postgres","host=localhostport=5432user=someUserdbname=someDBpassword=somePWsslmode=disable")deferdb.Close()}这很好用,我可以创建表并执行CRUD...但所有操作都在main函数中进行。无论如何我可以做这样的事情(它没有用)并在main中使用它:funcdb(){db,_:=gor

go - 将 db 变量传递给函数参数

我正在尝试使用Golang解析一些RSS提要。我找到的包裹是https://github.com/jteeuwen/go-pkg-rss我的流程是从我的Postgres数据库获取提要对于每个提要,获取文章将每篇文章存储到Postgres数据库中我的代码如下funcmain(){db:=dbConnect()//returnstheDBconnectionvariablefeeds:=getRssFeeds(db)//returnsfeedsfrommyDBfori:=0;i如何将db变量传递给itemHandler,以便将文章插入我的数据库?我想我可以调用dbConnect()来创建一