Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > SQLite
SQLite Forum d'entraide SQLite
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/05/2007, 12h58   #1
Invité de passage
 
Inscription : octobre 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 16
Points : 4
Points : 4
Envoyer un message via MSN à djmustru
Par défaut Problème Insertions Multiples SQLite

Bonjour à tous,

Je viens de me mettre au SQLite, en essayer d'importer mes données SQL, j'ai une erreur au niveau de mes insert into, pour être plus précis les virgules qu'il y'a entre les différentes insertions

exemple d'insertion :
Code :
NSERT INTO `Ramiga` VALUES ('1869AGA','',20,'29-10-2006',0,'','',1,0),('a-10tkiller','',22,'29-10-2006',0,'','',2,0),('A-train','',17,'29-10-2006',0,'','',3,0),('A320 airbus','',17,'29-10-2006',0,'','',4,0);
SQL logic error or missing database
near ",": syntax error


Comment faire ? faut-il trouver autre chose que la virgule pour faire plutot insertions ??

Un grand merci d'avance a celui-qui m'aidera
djmustru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 09h07   #2
Membre du Club
 
Inscription : juillet 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 66
Points : 50
Points : 50
essaie de supprimer les '' et en contre partie deonne lui les noms des champs à remplir dans ta requete
SERTNM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 11h27   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 6
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : juillet 2007
Messages : 6
Points : 7
Points : 7
Je ne crois pas que tu puisses faire des insertions multiples de cette façon. Par contre, tu peux exécuter plusieurs requêtes INSERT en une seule fois :

Code :
1
2
3
4
5
 
INSERT INTO `Ramiga` VALUES ('1869AGA','',20,'29-10-2006',0,'','',1,0);
INSERT INTO `Ramiga` VALUES ('a-10tkiller','',22,'29-10-2006',0,'','',2,0);
INSERT INTO `Ramiga` VALUES ('A-train','',17,'29-10-2006',0,'','',3,0);
INSERT INTO `Ramiga` VALUES ('A320 airbus','',17,'29-10-2006',0,'','',4,0);
En PHP par exemple il existe une fonction sqlite_exec qui permet d'exécuter plusieurs requetes SQL à la suite.
Ratix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 22h16   #4
Membre actif
 
Inscription : décembre 2004
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 169
Points : 175
Points : 175
Par défaut [Résolu] Problème Insertions Multiples SQLite

Une requête insérant plusieurs lignes c'est possible mais cela peut poser un problème d'intégrité. Il se peut par exemple que le résultat de la requête que je te propose génère plusieurs lignes au lieu d'une voulue (ex: utilise UNION ALL au lieu de UNION). De plus tu perds l'ordre d'insertion.
Mais bien sur tu peux éviter cela avec un trigger qui refuse une insertion en double sans erreur et un compteur dans les lignes à insérer.

Voici un exemple qui fonctionne parfaitement en SQLite 2.8.16
a+

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
CREATE TABLE 'ramiga' ( nomjeu text, d1 text, n1 int, 
 datjeu text, n2 int,d2 text, d3 text, n3 int,n4 int);
 
DELETE FROM ramiga;
 
INSERT INTO Ramiga 
    SELECT '1869AGA','',20,'29-10-2006',0,'','',1,0 FROM sqlite_master UNION 
    SELECT 'a-10tkiller','',22,'29-10-2006',0,'','',2,0 FROM sqlite_master UNION 
    SELECT 'A-train','',17,'29-10-2006',0,'','',3,0  FROM sqlite_master UNION 
    SELECT 'A320 airbus','',17,'29-10-2006',0,'','',4,0  FROM sqlite_master 
;
 
SELECT * FROM ramiga;    
SELECT count(*) FROM ramiga;
bigane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h20.


 
 
 
 
Partenaires

Hébergement Web