Проблемы с запросом SELECT...WHERE
имеется такая схема
create table "Messenger".public.group
(
id serial primary key,
name varchar(32) unique not null,
password varchar(128) not null
);
заполнено следующими значениями
6,main,1234
7,new life,1234
8,lions,1234
когда запрашиваю данные в Qt таким кодом, то получаю все пароли
QSqlQuery query(conn);
query.exec("select * from \"Messenger\".public.group");
while (query.next()) {
qDebug() << query.value("password").toString();
}
но когда хочу получить пароль определенной группы, запрос выдает ничего
QSqlQuery query(conn);
query.exec("select * from \"Messenger\".public.group where name = 'main'");
while (query.next()) {
qDebug() << query.value("password").toString();
}
кто знает как пофиксить запрос с where?
Ответы (1 шт):
Автор решения: deelayka
→ Ссылка
name в PostgreSQL это зарезервированное кодовое слово и чтобы использовать в качестве имени столбца его необходимо заключить в двойные кавычки:
QSqlQuery query(conn);
query.exec("select * from \"Messenger\".public.group where \"name\" = 'main'");
while (query.next()) {
qDebug() << query.value("password").toString();
}