在Android应用程序中,我有一个存储联系人的数据库。在那,我有一个"数字" "文字"类型。
执行以下查询时出现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);
那么它运作正常。
我担心的是,虽然我有Number
类型的Text
列,但却出错了。
答案 0 :(得分:3)
因为#5018
在语法上不是数字或任何其他有效的构造。当您将其用单引号括起来'#5018'
时,它将成为字符串文字,并且在语法上是正确的。 5018
将是一个语法上有效的数字文字。
列类型的亲和力与文字语法无关。