SQLite: erreur SQL ou manquante de la base de données lors de l'insertion de données dans la table
Je suis en train d'essayer d'insérer de nouvelles données dans une table SQLite.
- Je sais pour sûr que l'insertion de code est correct, parce que je l'utilise pour des tables différentes et il fonctionne très bien
- Je sais pour sûr que la base de données et la table sont créées et existent, parce que je peux voir dans le SQLite Browser.
Mais quelque chose dans l'SQLite syntaxe de la création ou de l'insertion est mal, parce que je reçois cette erreur:
Erreur SQL ou manquante de la base de données
Voici mon code:
CREATE TABLE IF NOT EXISTS Theory_answers ("questionID" INTEGER,"answerID" INTEGER,"answerText" TEXT, "isTrue" INTEGER)
INSERT INTO Theory_answers (questionID, answerID, answerText,isTrue) VALUES ("1","1",text,"0")
Veuillez vérifier que si le questionId est une clé primaire???
FWIW, vous pouvez obtenir la même erreur dans certaines versions de sqlite lorsque vous insérez plusieurs valeurs à la fois.
FWIW, vous pouvez obtenir la même erreur dans certaines versions de sqlite lorsque vous insérez plusieurs valeurs à la fois.
OriginalL'auteur Luda | 2013-08-11
Vous devez vous connecter pour publier un commentaire.
- ce que ce sera....
Ou
En regardant ce lien, il suggère que les insertions sont faites avec des guillemets simples autour du texte et pas de guillemets autour des numéros...
avez-vous supprimer les citations de numéros pour le faire fonctionner? était-il simple ou double quotes-vous utilisé?
trier les réponses par les plus anciens 🙂
OriginalL'auteur christiandev
Il y a deux options pour l'erreur que je peux voir, si c'est en fait en SQL, vous faites preuve;
Vous n'êtes pas en fin de chaque ligne avec un
;
, ce qui rend SQLite ne pas comprendre que c'est deux états distincts.Vous avez oublié de citer le texte dans votre instruction insert.
Normalement, l'erreur que vous êtes en déclarant est due à SQLite ne pas trouver la base de données vous êtes à ouvrir demandant si, quelque chose qui est très difficile à déboguer sans voir le code.
OriginalL'auteur Joachim Isaksson
Si vous obtenez cette erreur de l'ajout d'une nouvelle colonne/ou la modification de votre table SQLite, c'est probablement parce que la table est toujours dans votre app cache. La meilleure solution si vous êtes dans une phase de développement est d'aller Paramètres->Applications->Votre App->Stockage->Supprimer des Données. Et cela va effacer tout le cache souvenirs.
Autrement, par programmation, vous pouvez choisir de SUPPRIMER la TABLE YOUR_TABLE et en recréer un nouveau.
Espère que cela aide les autres.
OriginalL'auteur Prem Chandran
Ce problème peut se produire lorsque le curseur n'est pas fermé.
dans android et plusieurs langues , tout le curseur doit être fermé avant d'exécuter une autre requête.
vous devez trouver tous ", sélectionnez" requête avant de la nouvelle requête et de fermer toutes les curseur
si tout le curseur est fermé et que votre requête est correcte , Votre code fonctionne correctement.
OriginalL'auteur mbe