草庐IT

exist-db

全部标签

go - 不能在 db.Query 的参数中使用缓冲区(类型 bytes.Buffer)作为类型字符串

我在buffer.WriteString()中编写了一个SQL查询,但无法在db.Query()中使用该缓冲区。buffer.WriteString(fmt.Sprintf(`SELECTc.id,c.company_name,ss.start_date,ss.shift_length,ss.bill_rate,ss.ot_hrs,ss.dt_hrs,ts.pay_rate,ts.wc_rate,ts.paid,td.wcFROMcompanycJOINusersu1ONc.id=u1.company_idJOINschedulesONu1.id=s.user_idJOINschedu

go - 为什么 `votes`的值在db.Prepare之后变了?

我正在使用http://github.com/Go-SQL-Driver/MySQL我想从数据库中获取一个值votes,例如“0000”,并将其更新为“1000”。在db.Prepare()之前它工作正常。但在此之后,votes的值发生了变化。除了db.Prepare()之外,我没有对它做任何事情。我的代码是funcVote(_type,didint,usernamestring)(isSucceedbool){db:=lib.OpenDb()deferdb.Close()stmt,err:=db.Prepare(`SELECTvotesFROMusersWHEREusername=?

sql - 使用 Postgres 时为 "Operator does not exist: integer =?"

我在go的database/sql包提供的QueryRow方法中调用了一个简单的SQL查询。import("github.com/codegangsta/martini""github.com/martini-contrib/render""net/http""database/sql""fmt"_"github.com/lib/pq"))typeUserstruct{Namestring}funcShow(db*sql.DB,paramsmartini.Params){id:=params["id"]row:=db.QueryRow("SELECTnameFROMusersWHERE

go - 无法在 go lang 中分配 *gorm.DB

我正在尝试从gorm.Open()返回一个实例,返回它我收到以下错误controllers/db.go:34:cannotassign*gorm.DBtodc.DB(typegorm.DB)inmultipleassignment这是db.goControllerpackagecontrollersimport(//"fmt"_"github.com/go-sql-driver/mysql"//v"github.com/spf13/viper""github.com/jinzhu/gorm")typeDBControllerstruct{DBgorm.DB}func(dc*DBCont

Go 查询 (db2) 不提供表中的所有字符 (utf-8)

表达我的问题很复杂,我尝试:我有一个DB2表(内部代码页CP850)createtablecodes(codecharacter(2))使用utf-8字符的数据集insertintocodesvalues('ÖÖ')在linux下,db2-clientsselect*fromcodes交付codeÖÖ正如预期的那样。现在对于Go部分,这是有问题的。我的模型看起来像packagecodestypeCodestruct{Codedb.NullString`json:"code"sql:"code"`}typeCodes[]*Code我的查询看起来像packagecodesfuncFindA

amazon-web-services - Golang Aws S3 NoSuchKey : The specified key does not exist

我正在尝试从S3下载对象,以下是我的代码:funclistFile(bucket,prefixstring)error{svc:=s3.New(sess)params:=&s3.ListObjectsInput{Bucket:aws.String(bucket),//RequiredPrefix:aws.String(prefix),}returnsvc.ListObjectsPages(params,func(p*s3.ListObjectsOutput,lastPagebool)bool{for_,o:=rangep.Contents{//log.Println(*o.Key)lo

戈朗 : building interfaces for existing types to make code testable

为了使调用sql包的代码可测试,我构建了以下2个接口(interface):typeDatabaseinterface{Close()errorQuery(string,...interface{})(DatabaseRows,error)}typeDatabaseRowsinterface{Close()errorNext()boolScan(...interface{})error}我要测试的实际代码是:funcgetDatabase(connectionStringstring)(dbDatabase,errerror){ifdb,err=sql.Open("mysql",con

postgresql - 如何在 Go 应用程序中处理打开/关闭 Db 连接?

我的WebAPI应用程序中有一组函数。他们对Postgres数据库中的数据执行一些操作。funcCreateUser(){db,err:=sql.Open("postgres","user=postgrespassword=passworddbname=api_devsslmode=disable")//Dosomedboperationshere}我想函数应该相互独立地与db一起工作,所以现在我在每个函数中都有sql.Open(...)。我不知道这是否是管理数据库连接的正确方法。我是否应该在应用程序启动后在某个地方打开它,并将db作为参数传递给相应的函数,而不是在每个函数中打开连接?

go - 在 go 中测试连接到 db 的处理程序

我有一个连接到数据库并检索记录的处理程序。我为此写了一个测试用例,它是这样的:main_test.gopackagemainimport("os""fmt""testing""net/http""net/http/httptest")varaAppfuncTestMain(m*testing.M){a=App{}a.InitializeDB(fmt.Sprintf("postgres://****:****@localhost/db?sslmode=disable"))code:=m.Run()os.Exit(code)}funcTestRulesetGet(t*testing.T){

mysql - Golang mysql 客户端 DB.Query 方法不重新编码 utf-8 编码的字符

我有一个mysql表,它的某些列中存储了UTF-8字符。该表是使用DEFAULTCHARSET=utf8创建的;如果我手动运行select语句,我可以看到UTF-8字符,但如果我使用golang客户端并使用DB.Query方法然后我看到字符都是乱码!此外,插入也是从golang客户端完成的。为什么插入内容很好,而读取却出现乱码?在进行查询时,我看不到任何用于设置字符集的参数。我错过了什么? 最佳答案 所以当行被插入数据库时​​,客户端字符集是latin1。默认情况下,golang客户端使用的是utf8。使用utf8再次插入所有行,现