Android SQLite - 如何标记名称

时间:2016-07-01 17:30:52

标签: android sqlite

我目前正在使用SQLLite来处理我的数据。我有NAME列,想要编号相同的名字,f.E。我可以添加名称Boris,但如果我第二次添加Boris,则第一个条目会更新为Boris 1,而第二个条目会更新为Boris 2

我的问题是,如何进行sql查询,以便选择每个Boris条目,即使它已编号。

我目前的做法是:

db.rawQuery("SELECT " + DealContract.PurchaseTable.COLUMN_NAME + " FROM " + DealContract.PurchaseTable.TABLE_NAME + " WHERE " + DealContract.PurchaseTable.COLUMN_NAME + " LIKE '" + name + "%'", null);

Simplfied:

SELECT NAME FROM PURCHASES WHERE NAME LIKE 'name%'

这有效,但是:

  • 不会排除包含Boris Johnson

  • 之后添加的内容的名称
  • 包含缺少Bori

  • 等内容的名称

编辑:应该是“如何编号”

1 个答案:

答案 0 :(得分:0)

我建议您删除%通配符。 将SELECT NAME FROM PURCHASES WHERE NAME LIKE 'name%'更改为SELECT NAME FROM PURCHASES WHERE NAME LIKE 'name [0-9]' OR NAME LIKE 'name'。 例如,如果您的查询返回1个结果,您将知道数据库中只有1个boris。因此,只需获取返回的行数,如果不为零,则将该数字附加到boris并保存。