SQLite3 SELECT WHERE Предложение раздела - PullRequest
1 голос
/ 22 августа 2011

У меня есть таблица:

CREATE TABLE "feeds" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"md5"   varchar(32),
"title" varchar(255));
CREATE INDEX "index_feeds_on_md5" ON "feeds" ("md5");

Когда я бегу: select id, title, md5 from feeds WHERE feeds.title = 'Authors Audio';

Возвращает:

id|title|md5
99|Authors Audio|5db86b5899889e0ea49b0ab7ff6223f0

Когда я бегу: select id, title, md5 from feeds WHERE feeds.md5 = '5db86b5899889e0ea49b0ab7ff6223f0';

Ничего не возвращает.

Почему? Является ли имя столбца md5 зарезервированным словом в SQLite3? Согласно: http://www.sqlite.org/lang_keywords.html md5 не является зарезервированным словом в SQLite.

1 Ответ

0 голосов
/ 22 августа 2011

Попробуйте вернуться, отметив имена полей в ваших запросах.

select `id`, `title`, `md5` from `feeds` WHERE `feeds`.`md5` = '5db86b5899889e0ea49b0ab7ff6223f0'

Это поможет отличить структуру таблицы, чтобы вы не столкнулись с такими проблемами, как эта.

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