Que par le commentaire de @GarnerJosh, vous ne pouvez pas exécuter une seule commande pour changer - SQLite n'est pas permis de changer les structures de la table. Au lieu de cela, créer une nouvelle table avec une clé primaire composite et de copier les données sur:
CREATETABLE my_table_copy(
id INTEGER,
lang INTEGER,
data TEXT,PRIMARYKEY(id, lang));INSERTINTO my_table_copy (id, lang, data)SELECT id, lang, data FROM my_table;DROPTABLE my_table;ALTERTABLE my_table_copy RENAME TO my_table;
Belle réponse, dans ce cas, assurez-u ne sont pas à l'appel de onCreate(db) à partir de votre onUpgrade(), Si vous le faites dans la demande d'emploi sera à nouveau essayer de créer votre table et il sera la cause de sqliteException, table déjà sortie. donc, pour éviter ce seulement de chute et de créer des tables que vous souhaitez modifier. Merci PinnyM et GamerJosh Il y a une information détaillée de cette méthode dans le Sqlite de la documentation : sqlite.org/lang_altertable.html "de Faire d'Autres Types De Changements de Schéma de Table"
Que par le commentaire de @GarnerJosh, vous ne pouvez pas exécuter une seule commande pour changer - SQLite n'est pas permis de changer les structures de la table. Au lieu de cela, créer une nouvelle table avec une clé primaire composite et de copier les données sur:
Il y a une information détaillée de cette méthode dans le Sqlite de la documentation : sqlite.org/lang_altertable.html "de Faire d'Autres Types De Changements de Schéma de Table"
OriginalL'auteur PinnyM