为了账号安全,请及时绑定邮箱和手机立即绑定

在 Go 语言中运行 SQL 查询时 PQ 关系不存在

在 Go 语言中运行 SQL 查询时 PQ 关系不存在

Go
白板的微信 2023-06-05 17:43:39
在 GoLang 中对我的数据库运行任何 sql 查询时,出现以下错误,有谁知道是否还有其他我可以尝试解决的问题pq: relation "users" does not exist我试过的:检查了数据库的权限,一切正常。检查凭据没问题通过 psql 直接在 SQL 数据库上运行 INSERT 语句创建了一个极简程序以确保它在我的代码中没有任何其他内容 手动将值输入查询字符串,而不是使用参数尝试过 SELECT 语句和同样的问题。它只是没有找到用户表。我已经通过 const 变量构建了连接字符串,如下所示。都没有工作。我尝试过使用和不使用端口 (5432)下面的代码是我所拥有的(极简应用程序输出与我的主应用程序相同的错误)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
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

您的连接字符串:

postgres://postgres:postgres@localhost/user_details?sslmode=disable

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


查看完整回答
反对 回复 2023-06-05
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

您的代码似乎没有问题,并且似乎可以正常工作。我非常怀疑该表是否users实际存在于选定的数据库中user_details



查看完整回答
反对 回复 2023-06-05
  • 2 回答
  • 0 关注
  • 295 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信