sqlite SELECT在查询列以查找与列名称相同的值时返回所有记录

时间:2010-02-05 03:44:29

标签: sqlite

$ sqlite3 test.db
SQLite version 3.6.21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE test(foo text);
sqlite> INSERT INTO test VALUES ("foo");
sqlite> INSERT INTO test VALUES ("bar");
sqlite> SELECT * FROM test WHERE foo="foo";
foo
bar
sqlite>

查询似乎将“foo”视为对列名称的引用,而不是字符串常量。如何让这个查询只返回foo,而不是bar?除了重命名列之外还有其他选项吗?

1 个答案:

答案 0 :(得分:6)

Sqlite3 Keywords

sqlite> SELECT * FROM test WHERE foo='foo';

使用单引号。