Comment nous pouvons insérer plusieurs lignes dans la base de données Sqlite en même temps? J'utilise Android avec Java.Dans la base de données Sqlite, Comment insérer plusieurs lignes dans une table en même temps
Répondre
ContentValues values = new ContentValues();
for(int i = 0; i<=5; i++) {
values.put(COLUMN_NAME, i);
values.put(COLUMN_NAME, 0);
db.insert(TABLE_NAME, null, values);
}
est-ce efficace? Ne pouvez-vous pas écrire toutes les lignes avec une seule requête? –
Ce que vous cherchez est bulkInsert
. Il vous permettra de fournir un tableau de ContentValues
à insérer. Voir les docs Android pour plus d'informations:
Il est important de noter que la documentation dit: "Cette fonction ne garantit pas l'atomicité des insertions." Mais je ne pourrais pas trouver un meilleur moyen d'insérer plusieurs lignes. –
Très ancien poste cependant. Lorsque vous essayez d'effectuer plusieurs appels à la base de données, tels que la mise à jour ou l'insertion, effectuez un enveloppement avec les transactions. Cela fera une énorme différence de vitesse.
db.beginTransaction();
try
{
while(...)
{
// .. do your inserts, updates and deletes here
}
// If successful commit those changes
db.setTransactionSuccessful();
}
finally
{
db.endTransaction();
}
Dans quel langage de programmation? –
Je travaille dans Java anroid. – Nuraiz