sqlite insertWithOnConflict的返回值?

时间:2015-12-02 00:46:50

标签: android sqlite

我试图理解SQLiteDatabase.insertWithOnConflict的返回值。

我的代码就像:

long result = db.insertWithOnConflict(
                MyTable.TABLE_NAME,
                null,
                initialValues,
                SQLiteDatabase.CONFLICT_IGNORE);

insertWithOnConflict的doc说:

  

返回:   如果输入参数'conflictAlgorithm'= CONFLICT_IGNORE则为新插入行的行ID或现有行的主键,如果有任何错误则为-1

如果MyTable的主键是TEXT类型怎么办?当发生插入冲突时,如何将现有行的主键(TEXT值)返回到长变量?

感谢。

1 个答案:

答案 0 :(得分:1)

  

如果MyTable的主键是TEXT类型怎么办?当发生插入冲突时,如何将现有行的主键(TEXT值)返回到长变量?

按主键表示rowid

如果您的主键是integer primary key,那么它将替换为rowid。