我創造了這個表例外插入的SQLite的Android
"CREATE TABLE IF NOT EXISTS Inscripcion (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
hash TEXT,
codigo_evento TEXT,
ticket TEXT,
nombre TEXT,
inscripcion_id TEXT,
validado int,
sincronizado int,
numero TEXT,
asiento TEXT,
adicionales TEXT,
otros TEXT ,
categoria TEXT,
codigo_usuario TEXT,
rut TEXT,
talla TEXT,
fecha_validacion TEXT,
nombre_responsable TEXT
)";
我是從我的Web服務數據越來越插入到我的數據庫,並把它做好:
String sql = "INSERT INTO 'Inscripcion' VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
SQLiteStatement statement = db.compileStatement(sql);
db.beginTransaction();
for (int p = 0; p < array.length(); p++) {
statement.clearBindings();
statement.bindString(1, rowParticipante.getString("hash"));
statement.bindString(2, rowParticipante.getString("codigo_evento"));
statement.bindString(3, rowParticipante.getString("ticket"));
statement.bindString(4, rowParticipante.getString("nombre"));
statement.bindString(5, rowParticipante.getString("inscripcion_id"));
statement.bindString(6, rowParticipante.getString("validado"));
statement.bindString(7, "0");
statement.bindString(8, rowParticipante.getString("numero"));
statement.bindString(9, rowParticipante.getString("categoria"));
statement.bindString(10, rowParticipante.getString("asiento"));
statement.bindString(11, rowParticipante.getString("otros"));
statement.bindString(12, rowParticipante.getString("adicionales"));
statement.bindString(13, codigoUser);
statement.bindString(14, rowParticipante.getString("rut"));
statement.bindString(15, rowParticipante.getString("talla"));
statement.bindString(16, rowParticipante.getString("fecha_validacion"));
statement.bindString(17, rowParticipante.getString("nombre_responsable"));
statement.execute();
}
db.setTransactionSuccessful();
db.endTransaction();
我想這是好的,但我收到以下錯誤:
08-20 11:45:58.645: E/SQLiteLog(20145): (1) table Inscripcion has 18 columns but 17 values were supplied
我知道它有18個字段,但我必須只添加17個,因爲第一個ID是自動遞增。如何解決這個錯誤?
那麼我怎麼能在這種情況下添加ID? – NHTorres
一般來說你沒有。你讓數據庫爲你指定一個,並在插入完成後檢索它。 –
@sioesi。沒有。正如馬克所示,你從字段#1開始(你的'id'將被列爲字段#0) –