android sqlite 数据库中“#5018”附近的语法错误

Syntax error near "#5018" in android sqlite database

在Android应用程序中,我有一个数据库来存储联系人。在那里,我有一个 "Number" 类型的 "Text" 列。
执行以下查询时出现 syntax error near: "#5018" (code 1) 错误:

string passedNumber = "#5018"; db.delete("Contact_Table, "Number=" + passedNumber, null);


但是如果我使用 quotte aroung 这样的数字:
db.delete("Contact_Table, "Number='" + passedNumber + "'", null);
那么它工作正常。

我担心的是,尽管我有 Text 类型的 Number 列,但为什么会出现错误。

因为 #5018 在语法上不是数字或任何其他有效结构。当你用单引号将它括起来时 '#5018' 它变成了一个字符串文字并且在语法上是正确的。 5018 将是语法上有效的数字文字。

列类型关联与文字语法无关。