首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GoLang中运行SQL查询时不存在PQ关系

在GoLang中运行SQL查询时不存在PQ关系
EN

Stack Overflow用户
提问于 2019-02-08 18:37:26
回答 2查看 8.9K关注 0票数 3

在GoLang中对我的数据库运行任何sql查询时,我会得到以下错误,是否有人知道我是否还可以尝试解决这个问题

代码语言:javascript
复制
pq: relation "users" does not exist

我试过的是:

检查了DB上的权限,就可以了。

检查过的凭证没问题

通过psql直接在SQL数据库上运行INSERT语句。

创建了一个极简主义程序,以确保它不是我代码中的任何内容。

将值手动输入查询字符串,而不是使用参数。

尝试了SELECT语句和相同的问题。它只是找不到users表。

我已经通过const变量构建了连接字符串,如下所示。两者都不起作用。

我已经尝试过,但没有端口(5432)

下面的代码就是我所拥有的(与我的主要应用程序输出相同错误的极简应用程序)

代码语言:javascript
复制
func main() {
sqlInfo := fmt.Sprintf("postgres://postgres:postgres@localhost/user_details?sslmode=disable")

db, err := sql.Open("postgres", sqlInfo)
defer db.Close()

if err != nil {
    fmt.Fprintf(os.Stdout, "Connection to the database failed")
    return
}
err = db.Ping()

if err != nil {
    fmt.Fprintf(os.Stdout, "Connection to the database failed")
    return
}

fmt.Fprintf(os.Stdout, "You have connected to the database successfully")

sqlQuery := `INSERT INTO users ("user_id", "username", "password", "email", "gender", "gang") VALUES ($1, $2, $3, $4, $5, $6)`
_, err = db.Exec(sqlQuery, 1, "Ross8839", "rocky8839", "ross88399@hotmail.com", "Female", "Greengos")
if err != nil {
    fmt.Fprintf(os.Stdout, "Failed to query db")
    panic(err)
}
}

我希望上面的代码不会不正确,因为我在windows环境中使用了这个代码,但是我不想使用windows进行开发。这都是在我的Linux环境中,而且自从转移到..。我遇到过这个问题。

下面是postgres用户在数据库上的权限

https://i.imgur.com/ZqFUrek.png

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-09 03:05:07

您的连接字符串:

代码语言:javascript
复制
postgres://postgres:postgres@localhost/user_details?sslmode=disable

说你要连接到user_details数据库。也许您在不同的数据库中创建了users表。

票数 9
EN

Stack Overflow用户

发布于 2019-02-09 04:26:31

您的代码似乎没有问题,而且似乎是一个有用的代码。我非常怀疑表users是否实际存在于所选的数据库user_details中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54598398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档