IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

insert multiple : erreur de syntaxe msql 5 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 6
    Points
    6
    Par défaut insert multiple : erreur de syntaxe msql 5
    Bonjour,

    Je tente de faire un "insert into" en mysql mais quelque chose ne semble pas fonctionner comme j'ai l'habitude.
    Je test directement dans mysql avant de fabriquer la requette en php.

    voilà mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO `ma_table` WHERE `id`=1 (`nom`,`champ1`,`champ2`)
    VALUES (`test`,`blabla`,`bloublou`)
    J'obtiens alors une erreur de syntaxe qui semble être du coté de cette portion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE `id`=1 (`nom`,`champ1`,`champ2`)
    voici la réponse de mysql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id`=1 (`nom`,`champ1`,`champ2`)
    VALUES (`test`,`blabla`,`bloublou`)' at line 1
    Ne sachant pas d'où ça pouvait venir, j'en suis arrivé à utiliser la méthode académique en testant tout les guillemets du monde....

    Si quelqu'un sais d'où ça peut venir, il comblerai alors une grande frustration de galérien.

    La table est créé, et comporte les bon noms de colonnes.

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO `ma_table` (`nom`,`champ1`,`champ2`)
    VALUES ('test','blabla','bloublou')
    Les caractères " ` " servent simplement a SQL pour qu'il ne confonde pas avec des éléments de son langages, pour des valeurs a insérer, il faut mettre des guillemets " ' " ou " " ".

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Pas de clause 'WHERE' dans un 'INSERT', puisque c'est une nouvelle ligne.

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Je viens d'éditer mon message précédent, quel boulet, j'ai répondu comme un robot

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai donc mis le WHERE à la suite (je ne savais pas) et changé les guillemets des champs à remplir.


    requête SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO `ma_table` ( `nom` , `champ1` , `champ2` )
    VALUES (
    'test', 'blabla', 'bloublou'
    )
    WHERE `id` =1
    MySQL a réponduocumentation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id`=1' at line 2
    Je déprime

  6. #6
    Membre averti Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Points : 342
    Points
    342
    Par défaut
    WHERE id='1' ??? (j'ai rajouté les quotes)
    Et pourtant... Elle tourne.
    http://www.djib.me

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Citation Envoyé par jay-ko Voir le message
    Je déprime
    Moi aussi, car tu ne te donnes même pas la peine de lire les messages.

    Commence par t'imprégner de ce qui se trouve là :
    http://dev.mysql.com/doc/refman/5.0/...ipulation.html.
    Ensuite, on verra.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Une lecture intéressante:
    http://sql.1keydata.com/fr/sql-insert-into.php


    On peut donc utiliser un WHERE dans un INSERT INTO.

    C'est ce qui me met en erreur, il est alors facile de confondre l'utilisation d'un UPDATE avec une structure comme je l'ai écrite au début, hors, INSERT INTO ne prévoit pas apparemment un écrasement de données.
    Visiblement on ne peux pas alimenter une table déjà remplis de cette manière.

    Jeca> J'avais compris pas de "Where" sur la même ligne que "insert"!
    Jeca, Thomas, beejeridou> Merci de vous être préoccupé de mon soucis.

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Citation Envoyé par jay-ko Voir le message
    Une lecture intéressante:
    http://sql.1keydata.com/fr/sql-insert-into.php


    On peut donc utiliser un WHERE dans un INSERT INTO.
    NIET
    La lecture intéressante est à lire jusqu'au bout : la clause 'WHERE' se trouve dans une instruction 'INSERT ... SELECT...', ce qui est différent de ce que tu fais. Dans ce cas, il s'agit d'intégrer dans une table des informations sélectionnées dans une autre, donc la clause 'WHERE' concerne le 'SELECT', et non pas le 'INSERT'.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] INSERT INTO erreur de syntaxe
    Par Chipss dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/09/2011, 18h35
  2. Insert INTO : Erreur de Syntaxe
    Par mishkai dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/08/2008, 09h25
  3. Erreur de syntaxe dans INSERT INTO VALUES
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 25/05/2006, 18h57
  4. erreur de syntaxe dans l'instructiuon insert into
    Par greg64 dans le forum Access
    Réponses: 6
    Dernier message: 13/04/2006, 14h07
  5. [SQL2K][BCK] erreur de syntax pour update et insert
    Par lifecraft dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/02/2006, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo