Почему QueryRow (). Scan () возвращает пустую строку, если она не пуста в таблице? - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь запросить одну строку из таблицы базы данных PostgreSQL.

func getPrefix(serverID int64, db *sql.DB) string {
    var prefix string
    err := db.QueryRow("SELECT prefix FROM servers WHERE serverid = 1234").Scan(&prefix)
    if err != nil {
        fmt.Println(err.Error())
    }
    spew.Dump(prefix)
    fmt.Println("Prefix is " + prefix)
    return prefix
}

Очевидно, переменная prefix является пустой строкой, но когда я запрашиваю ее в базе данных, она не пустая

You are now connected to database "mewbot" as user "postgres".
mewbot=# select * from servers;
 serverid | prefix
----------+--------
     1234 | ;
(1 row)


mewbot=#

Мой вопрос: почему он возвращает пустую строку, когда она должна быть ; Все проверки приняты;Я убедился, что я подключен к той же базе данных и др.

1 Ответ

0 голосов
/ 02 ноября 2019

Очевидно, он не работал, потому что режим SSL был отключен на моем сервере, но я пытался подключиться, не указывая, что он был отключен.

Изменение postgres://postgres:7890@localhost:5432/mewbot на postgres://postgres:7890@localhost:5432/mewbot?sslmode=disable решило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...