草庐IT

sql-grant

全部标签

sql - 使用 sqlx 在 Postgres 中取回新插入的行

我使用https://github.com/jmoiron/sqlx向Postgres查询。是否可以在插入新行时取回整行数据?这是我运行的查询:result,err:=Db.Exec("INSERTINTOusers(name)VALUES($1)",user.Name)或者我应该只使用我现有的user结构作为数据库中新条目的真实来源? 最佳答案 这里是关于sqlx事务的文档:Theresulthastwopossiblepiecesofdata:LastInsertId()orRowsAffected(),theavailabil

sql - 模式交换支持 Go GORM

我正在编写一个RESTAPI,我需要在其中动态部署到多个模式的连接。示例:我有两个模式,我需要根据哪个用户尝试使用数据来更改它们。想法是有许多其他方案,每个用户一个。我看到了这个问题,但使用的示例是static需要找到一种动态变化的方法。我会将用户模式放入JWTtoken中。我的项目:Panda-API有什么建议吗? 最佳答案 选项1您可以更改database.GetConnection()方法以接收用户名并直接连接到数据库,而无需更改所有服务和模型。您将用户存储在security_middleware.go上的gin.Contex

sql - Golang,postgresql rows.next() panic

在golang中使用postgresql使用rows.next()对行进行交互时出现错误。这只发生在几台机器上,而且时间相当不可预测,这使得调试变得困难。panic:runtimeerror:indexoutofrange[recovered]panic:runtimeerror:indexoutofrangegoroutine28078[running]:panic(0xa63ae0,0xc420014090)/usr/local/go/src/runtime/panic.go:500+0x1a1github.com/lib/pq.(*conn).errRecover(0xc4207

sql - PostgreSQL 插入多个表和行

我有2个结构,一个是公司,另一个是服务。他们有一个has-many关系公司来服务。我正在尝试编写一个SQL查询,该查询将在一个查询中插入一家公司和附加到该公司的多项服务。原始SQL:WITHcompanyAS(INSERTINTOcompanies(id,name)VALUES('1','acme')RETURNINGid)INSERTINTOservices(id,company_id,name)VALUES('1',(selectcompany.idfromcompany),'coolservice'),('2',(selectcompany.idfromcompany),'coo

mysql - 为什么连接到 Google Cloud SQL 在 Docker 容器内失败但在 Docker 容器外成功?

我用Golang编写了一段代码来测试GoogleCloudSQL:packagemainimport("database/sql""flag""fmt"_"github.com/go-sql-driver/mysql")varaddr=flag.String("db","","Thedatabaseaddress")funcmain(){flag.Parse()db,err:=sql.Open("mysql",*addr)iferr!=nil{fmt.Println("mysqlopenfailed:",err)return}deferdb.Close()err=db.Ping()if

【攻防世界】Web very_easy_sql

做了web才发现,原来自己是真的什么都不懂啊,不过也好,说明我有很大的进步空间呢······不闲聊了,来看题目打开是一个登录界面,我们抓包看看返回些什么返回包有三个需要注意的地方,我都用框框圈起来了有一个Set-Cookie代表如果输入正确的账号跟密码是可以返回的,可以尝试爆破第二个发现了一个新的页面use.php,我们可以访问看看第三个,返回了一句话:youarenotaninneruser,sowecannotletyouhaveidentify~翻译就是:您不是内部用户,所以我们不能让您有身份~意思应该是我们要从内部登录吧?我们访问一下use.php这个页面看起来是一个输入url能跳转的

sql - 如何推迟 Postgres 中的外键约束

我试图设置一个可延迟的外键约束,这样当我插入查找/数据透视表时直到事务结束时才检查它。但是,它在psqlshell中工作,但它在代码中不起作用。与在psqlshell中一样,我也在代码中使用begin开始事务。这是sql:createtablecampaign_r_company(campaign_iduuidnotnullreferencescampaign(id)ondeletecascadedeferrableinitiallydeferred,company_idvarchar(32)notnull,primarykey(campaign_id,company_id));代码如

sql - 如何使用Golang直接从文件执行mssql脚本

我一直在寻找上述问题的答案,但没有成功。对不起,如果它是重复的。所以基本上我试图直接从文件中执行一个sql脚本,但我一直收到“''附近的语法不正确。”错误funcAnotherDatabase()(sql.Result,error){rc,err:=os.Open("./myscript.sql")iferr!=nil{returnnil,err}buf:=new(bytes.Buffer)buf.ReadFrom(rc)contents:=buf.String()db,err:=sql.Open("mssql","mydatabase")iferr!=nil{returnnil,er

mysql - Golang 连接到 docker 连接到我的 sql docker getsockopt : connection refused

我在尝试设置我的golang和docker环境时失去了理智。我正在使用dockercompose,它似乎可以很好地预订两个图像,但是当我尝试运行和执行lang操作时,我收到了一个错误。 最佳答案 yaml文件中的间距很重要,您的mysql行应与您的应用程序行对齐。你必须添加一个links:-mysql在您的app:部分下插入一行,以便它知道将两者连接起来。看这里https://github.com/gpuenteallott/golang-mysql-docker-setup/blob/master/docker-compose.y

sql - 为什么 OS X 会终止在终端中立即执行的进程?

我在尝试从我的OSX上的CLI运行迁移时遇到奇怪的错误。当我尝试运行迁移时,它会立即终止进程。我正在使用golang的goose要向上迁移的包,我运行goosecreateCreateUsers我立即得到[1]18990杀鹅创建CreateUsers我也试过运行sql-migrate使用sql-migrateup这是同一件事,但来自不同的包,我得到了同样的错误。事实上,如果我将命令缩短为例如goose,我会遇到同样的问题。可能安装错误?我已经创建了数据库并且可以访问它们。注意我正在寻找为什么会发生这种情况的解释。不一定特定于包,但更多的是Mac决定立即终止进程的原因。附加说明看起来是包