¿"Insertar" en SQLite devuelve SQLITE_OK o SQLITE_DONE?

¿Qué declaración "insertar" en SQLite volver en caso de éxito?

Siempre creí que debería ser SQLITE_DONE, pero recientemente en mis registros descubrí la siguiente cadena:

<code>sqlite3_step error: 'not an error'
</code>

Y aquí está el código que registra la cadena mencionada:

<code>prepareStatement(addTranslationStmt2, "INSERT INTO translations(lang1_wordid, lang2_wordid) VALUES(?, ?)");
if (!addTranslationStmt2) return -2;

sqlite3_bind_int(addTranslationStmt2, 1, word_id);
sqlite3_bind_int(addTranslationStmt2, 2, translation_id);

if(sqlite3_step(addTranslationStmt2) != SQLITE_DONE)
{
    NSLog(@"sqlite3_step error: '%s'", sqlite3_errmsg(database));
    sqlite3_reset(addTranslationStmt2);
    return -1;
}

sqlite3_reset(addTranslationStmt2);
</code>

Me pregunto por qué funciona en la mayoría de los casos. ¿Debo cambiar SQLITE_DONE en mi código a SQLITE_OK?

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta