我使用该类创建表:
public class Category {
public final static String CATEGORY_TITLE_FIELD_NAME = "title";
@SerializedName("id")
@DatabaseField(id = true)
int id;
@SerializedName("title")
@DatabaseField(dataType = DataType.STRING, columnName = CATEGORY_TITLE_FIELD_NAME)
String title;
// need for ORMlite
public Category() {}
public Category (int id, String title) {
this.id = id;
this.title = title;
}
}
并得到这样的消息:
08-01 11:28:17.269:I/TableUtils(26960):执行的create table语句更改了1行:create table
levels
(title
VARCHAR,id
INTEGER,PRIMARY KEY(id
))
是关于我的表中有3个字段吗?或者有两个字段-"title"one_answers"id"。。。如果有3个字段,请告诉我为什么。。
是关于我的表中有3个字段吗?或者有两个字段-"title"one_answers"id"。。。如果有3个字段,请告诉我为什么。。
我想你说的是生成的SQL:
CREATE TABLE级别(title VARCHAR,id INTEGER,PRIMARY KEY(id))
那里定义了而不是3个字段。有两个字段(title
和id
)和一个用于Sqlite的PRIMARY KEY
名称。Sqlite使用PRIMARY KEY
SQL来定义哪个字段应作为行的标识符进行索引。有关详细信息,请参阅Sqlite文档。
是关于我的表中有3个字段吗?
你的表有两列,是什么让你认为有三列?如果您分析sql语句:
CREATE TABLE级别(title VARCHAR,id INTEGER,PRIMARY KEY(id))
您将看到有两列,title
和id
(这也是主键)。
如果你需要另一个答案,请重新表述你的问题。
当我收到这样的消息时
08-01 11:28:17.269: I/TableUtils(26960): executed create table statement changed 1 rows: CREATE TABLE levels (title VARCHAR , id INTEGER , PRIMARY KEY (id) )
,它意味着创建2列,而不是3列。得益于Gray