2012-02-09 47 views
1

可能重复:
Is it possible to apply primary key on the text fields in android database文本PrimaryKey的android系统

private static final String CREATE_NEWCUSTOMER = 
       "create table newcustomer (_id integer autoincrement, " + 
       "cname text , date text , " + "caddress text);"; 
在这个

我该如何使用cname作为主键。

+0

请参阅:http://stackoverflow.com/questions/7591492/is-it-possible-to-apply-primary-key-on-the-text-fields-in-android-database – 2012-02-09 07:51:33

回答

0

写...

cname text primary key not null 
+0

从我的理解, Android期望在许多情况下有一个_id ...我可能是错的,但我过去曾尝试使用游标(填充AutoCompleteText字段),并且崩溃了,因为返回的查询没有_id列中。 – joshhendo 2012-02-09 07:59:19

0

在Android中,你总是需要有任何查询,你运行的结果“_id”(我没有真正知道它需要一个主键,但我认为这是想法)

如果你真的想CNAME作为主键,但把它标记CNAME在数据库中(不_id),你可以做到以下几点:

SELECT cname AS _id, date, caddress FROM newcustomer 

我之前就已经这么做过,当时我知道文本字段永远是唯一的。但是有一个条件,你需要确保cname总是唯一的,否则你可能会遇到问题。我仍然建议有一个_id列作为整数,但使用它。