我使用该类创建表:
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个字段吗?或者有2个字段 - ' title'并且' id' ...如果有3个字段告诉我为什么请...
答案 0 :(得分:0)
在我的桌子上有3个字段吗?
你的表有两列,你认为有哪三列? 如果你分析sql语句:
CREATE TABLE级别(标题VARCHAR,id INTEGER,PRIMARY KEY(id))
您会发现有两列title
和id
(也是主键)。
如果您需要其他答案,请重新提问。
答案 1 :(得分:0)
在我的桌子上有3个字段吗?或者有2个字段 - 'title'和'id'...如果有3个字段告诉我为什么请...
我假设你在谈论生成的SQL:
CREATE TABLE级别(标题VARCHAR,id INTEGER,PRIMARY KEY(id))
那里定义了不 3个字段。有两个字段(title
和id
)和一个PRIMARY KEY
标识适用于Sqlite。 Sqlite使用PRIMARY KEY
SQL来定义应将哪个字段编入索引作为行的标识符。有关详细信息,请参阅Sqlite documentation。
答案 2 :(得分:0)
当我收到这样的消息时
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