1

我有以下表定义:

CREATE TABLE arbol32 (_id integer primary key autoincrement, ID integer, NIVEL integer, TEXTO text, ID_ORIG integer, CONTRATO integer, CODALMTESTOR text, CENTRO text, SECUEN text, DNIACUM text, UNIQUE(ID));

以及以下被多次调用的代码:

if(sArbol32.getPropertyCount()>0)
            {
                cargarAuxiliares=true;    
                  Arbol32BE[] arbol32=WSManager.RetrieveArbol32FromSoap(sArbol32);
                    arbol32Table.open();
                    arbol32Table.beginTransaction();
                    for(int i=0;i<sArbol32.getPropertyCount();i++){
                      arbol32Table.create(arbol32[i].id, arbol32[i].nivel, arbol32[i].texto, arbol32[i].id_orig, 
                                            arbol32[i].contrato, arbol32[i].codalmtestor, arbol32[i].centro,arbol32[i].secuen,arbol32[i].dniacum);
                    }
                    arbol32Table.setTransactionSuccessful();
                    arbol32Table.endTransaction();
                    arbol32Table.close();
            }

最后,这是 create 方法的代码:

public long create(int id,int nivel,String texto,int id_orig,int contrato,String codalmtestor,String centro,String secuen, String dniacum) {
Log.i(TAG, "Inserting record...");
ContentValues initialValues = new ContentValues();
//initialValues.put(KEY_ROWID, id);
initialValues.put(KEY_ID,id);
initialValues.put(KEY_NIVEL,nivel);
initialValues.put(KEY_TEXTO,texto);
initialValues.put(KEY_ID_ORIG,id_orig);
initialValues.put(KEY_CONTRATO,contrato);
initialValues.put(KEY_CODALMTESTOR,codalmtestor);
initialValues.put(KEY_CENTRO,centro);
initialValues.put(KEY_SECUEN,secuen);
initialValues.put(KEY_DNIACUM,dniacum);
return mDb.insert(DATABASE_TABLE, null, initialValues);

}

我的问题是,尽管指定了 UNIQUE,但插入了具有相同 ID 的重复行。我做错了什么??

4

1 回答 1

0

我的错误...我正在使用较旧的数据库进行测试。我在做什么是好的!

于 2012-06-13T23:49:23.817 回答