首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Postgres Go查询给出错误关系表不存在

Postgres Go查询给出错误关系表不存在
EN

Stack Overflow用户
提问于 2019-01-18 03:07:32
回答 1查看 259关注 0票数 0

我使用以下模式创建了Postgres表:

代码语言:javascript
运行
复制
CREATE TABLE accounts
(
accountid       VARCHAR(56)  PRIMARY KEY,
balance         BIGINT       NOT NULL CHECK (balance >= 0),
seqnum          BIGINT       NOT NULL,
numsubentries   INT          NOT NULL CHECK (numsubentries >= 0),
homedomain      VARCHAR(32)  NOT NULL,
thresholds      TEXT         NOT NULL,
lastmodified    INT          NOT NULL
);

我使用Postgres作为我的sql驱动程序,并使用Go的原生sql库。我的main函数看起来像这样:

代码语言:javascript
运行
复制
func main() {
    psqlInfo := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)
    db, err := sql.Open("postgres", psqlInfo)
    if err != nil {
        panic(err)
    }
    defer db.Close()

    err = db.Ping()
    if err != nil {
        panic(err)
    }

    sqlStatement := "SELECT * FROM accounts WHERE accountid='123'"
    log.Println(sqlStatement)

    rows, err := db.Query(sqlStatement)
    if err != nil {
        panic(err)
    }
    defer rows.Close()
}

当我运行这段代码时,我得到了错误relation "accounts" does not exist at character 15。死机发生在最后一次错误检查时,因此出现了db.Query(sqlStatement)行。但是,当我在命令行上运行相同的查询时,结果会正确返回。

我读到这个错误通常意味着表名的拼写不正确。我仔细检查了一下,看起来不是这样的。我还检查了我使用的用户凭证是否具有访问accounts表的权限。确实如此,所以我希望有些人有过这方面的经验。

EN

回答 1

Stack Overflow用户

发布于 2019-01-18 03:15:28

为了回答我自己的问题,我在错误的数据库下创建了表。我仔细检查了用户,但没有检查我要连接的数据库名称。

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

https://stackoverflow.com/questions/54242692

复制
相关文章

相似问题

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