我有一张桌子:
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中的保留字。
答案 0 :(得分:0)
尝试回复查询中的字段名称。
select `id`, `title`, `md5` from `feeds` WHERE `feeds`.`md5` = '5db86b5899889e0ea49b0ab7ff6223f0'
这将有助于区分您的表结构,以便您不会遇到诸如此类的问题。