填充表中的SQLite查询没有返回任何内容?

时间:2012-11-28 12:31:42

标签: database sqlite

我在sqlite中创建了一个名为AllWords.db的数据库,其中包含所有英语单词的列表(计数:172820)。当我发出select all查询时,它返回所有172820个单词的列表。另外,当我打印这样的表格字数时:

SELECT COUNT(*) FROM words;

输出为172820,因此数据库显然包含了所有单词。但是,当我尝试检查某个单词是否存在时(我唯一想要对此数据库执行的操作),它不会打印任何内容:

SELECT * FROM words WHERE word="stuff";

什么都不返回。

数据库是一个单独的表,其中唯一的列是'单词',其中所有单词都是行。非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

为了确保您在数据库中使用单词,请使用

查看表格
select * from words limit 10
  

房子
  东西
  树
  ...

然后选择您看到的一个单词

select * from words where word = 'stuff'

编辑:根据@MichaelEakins

修复了where子句

Edit2 :不幸的是,在这种情况下单引号和双引号之间没有区别,请参阅SQL Fiddle

答案 1 :(得分:0)

回答我自己的问题,因为我弄清楚出了什么问题。为了填充表,我编写了一个python程序来解析一个名为words.txt的文件(所有单词,由换行符分隔)到sqlite中。我的问题是查询变成了:

INSERT INTO WORDS VALUES('englishWord\n')

这搞砸了数据库。我修复了它并开始工作,感谢@ScoPi提供了使用LIKE的提示,它帮助我弄清楚有一个流浪换行符。