|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : avril 2007 Messages : 427 ![]() |
Bonjour,
Je rencontre des difficultées lors d'une double qui effectue, tour à tour, une série d'INSERT en base (une 20aine seulement). L'algo ressemble à celui-ci : Code :
En revanche si je regarde dans la base de donnée, par PhpMyAdmin, seule une ligne à été ajoutée à la table (visiblement la première ou la dernière, à vérifier si besoin). Si je copie/colle les requêtes affichées dans PMA, toutes passent et ma table est correctement peuplée. Comment faire pour que tous les INSERT se fassent en table ? J'ai tenté de booster avec un "COMMIT;" à la fin de ma requête mais cela n'y a rien fait. Meci pour vos réponses ! |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
As-tu controlé si ton code produisait des erreurs mysql ?
|
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 427 ![]() |
Oui tout à fait, il n'y a aucune erreur MySQL suite aux inserts ni par le script, ni par copier/coller dans PMA.
|
|
|
00
|
|
|
#4 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Est-ce que tu as une clef sur ta table ?
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 427 ![]() |
Oui, en fait la table est :
HISTORIQUE(Date date, Varchar(16) code) Il y a une clée primaire sur le champs date. Le problème ne vient pas de doublons de clé puisque j'ai fait un flush de la table avant mon script pour m'en assurer. |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Ton code du début ne correspond pas à ça.
Peux-tu nous montrer le vrai code ? |
|
|
00
|
|
|
#7 | ||||
|
Membre actif
![]() Inscription : avril 2007 Messages : 427 ![]() |
Je voulais simplifier un peu, voici le code :
Premier fichier : Code :
Code :
|
||||
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 427 ![]() |
En voulant copier/coller les requêtes sur le forum, je me rends compte que j'ai une ano dans mes requêtes: les $codeetab comportent un espace à la fin. Celui-là vient de l'espace en fin de chaque ligne de mon fichier.
J'ai remplacé : $codeetab = substr($ligne, 6); par : $codeetab = substr($ligne, 6, -1); Les requêtes sont bonne et passent. Ce que je ne comprends pas, c'est l'absence d'erreur sur mes requêtes dans mon script : peut-être ai-je mal récupérer les retours de l'insert par musql_query, peux-tu m'indiquer la marche à suivre correcte ? Pour PMA en revanche je ne comprends pas comment l'insertion passe la contrainte d'intégrité sur 'codeetab' quand je passe en requête directement...! |
|
|
00
|
|
|
#9 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Je suppose que quand tu copies/colles, tu ne prends pas le caractère de retour chariot.
|
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 427 ![]() |
Il y avait bien un espace avant la parenthèse finale pourtant.
Bref encore un mystère ! Merci quand même |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com