Android SQLite, quelques notions de base SQL
-
27-10-2019 - |
Question
Je suivais ce tutoriel: http://www.codeproject.com/KB/ applications / AndroidSQLite.aspx
Je dois Overthinking ce genre de choses SQLite (dans le passé mon serveur de domaine des bases de données automatiquement initialize feriez-je demandé, et je pouvais faire des requêtes quand on le souhaite. Jamais mettre un ensemble à partir de zéro)
J'ai quelques questions au sujet de leur fonction onCreate. Je me souviens ne jamais utiliser un
commande CREATE TRIGGER
dans mon SQL
Je ne ai besoin pour créer une table avec 2 ou 3 colonnes (si l'on compte la clé primaire)
Je devrais être en mesure de le faire
db.execSQL("CREATE TABLE" + tableName +"("+colID+"INTEGER PRIMARY KEY,"+columnName+"TEXT)");
correcte?
Ai-je besoin d'un "Trigger" et "View"?
La solution
Si vous avez juste besoin d'un endroit pour stocker des données - alors le tableau est assez. Mais si votre logique est plus compliquée, alors vous aurez besoin des choses supplémentaires
Notez également que certains déclencheurs ne sont pas pris en charge par SQLite. info d'ici
Autres conseils
Vous ne devez créer TRIGGER. À moins qu'il est nécessaire. Voici comment je mis en œuvre dans l'un de mon projet. Espérons que cela aide.
Si vous n'avez pas besoin Trigger ou
si SQLite TRIGGER
et VIEW
sont semblables à ce qu'ils sont utilisés dans MySQL puis non, ils ne sont pas nécessairement ce que vous essayez d'accomplir. VIEW
s sont utiles lorsque vous avez des requêtes complexes (comme lors de l'utilisation JOIN
s pour joindre les données de plusieurs tables). TRIGGERS
s sont des conditions qui sont exécutées lorsque vous modifiez une table. (Comme l'utilisation de UPDATE
, ou INSERT
)
Comme l'écrit, votre create ne fonctionnera pas à cause d'un manque d'espace. Essayez:
db.execSQL("CREATE TABLE " + tableName +" (" + colID + " INTEGER PRIMARY KEY, " + columnName + " TEXT)");