13

我有一个名为“条件名称”的名称(.sql 文件已从服务器生成)

但是在android中,我在从该表中读取数据时遇到了异常。

12-24 14:34:00.870: W/System.err(269): android.database.sqlite.SQLiteException: 没有这样的列: 条件: ,

编译时:

SELECT 条件、类别、子类别、条件名称、本地路径、远程路径、标题、content_type FROM library WHERE category = ?

它无法识别整个表名并在空间中断。如果您有任何想法,请帮助我。

4

4 回答 4

21

对于引用表/列名称等标识符,SQLite 支持反引号以与 MySQL 兼容,并支持方括号以与 SQL Server 兼容,但可移植的方式是使用双引号:

SELECT "condition name" FROM library

(单引号将用于字符串值。)

于 2012-12-25T15:06:08.910 回答
5

然后将表名放在引号之外,如下所示:

表名。“列名”

并不是

“表名.列名”

于 2021-03-22T12:31:25.017 回答
4

使用单引号

SELECT 'condition name' FROM library

或双引号

SELECT "condition name" FROM library

在某些情况下,表的名称可以包含空格甚至单字母,例如:

SELECT condition's name FROM library

在这种情况下,用表名替换'''

SELECT 'condition''s' name FROM library
于 2019-08-12T23:43:02.230 回答
-2
String someName = "The pig";
String sql = 
"SELECT * FROM " + TABLE + " WHERE " + COL_TITLE + "=" + '"' + someName + '"';
于 2021-07-21T13:07:38.603 回答