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

Requêtes MySQL Discussion :

Problème d'insert mysql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Par défaut Problème d'insert mysql
    Bonjour, depuis un moment je tente de faire un insert dans mysql mais je n'y parviens pas. Ma requête est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO odetails (id, order_id, prodcode, qty, unitprice, total, shorttext, option) 
    VALUES ('', 15, 'COTI03', '2', '80', '160', 'ASSISTANCE JURIDIQUE EMPLOYE', '' )
    cela provient il du champ option?

    Merci à vous.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Comme tu peux le voir avec la coloration syntaxique de ta requête, OPTION est un mot réservé du langage SQL. Il faut éviter de nommer les tables et colonnes avec ces mots.
    Pour être sûr de ne jamais le faire, j'ai adopter l'ajout d'un code mnémotechnique rappelant la table à laquelle appartient la colonne et un code pour le type de table préfixant le nom de la table, comme le préconise SQLPro (même si je n'ai pas adopté toute sa méthode).
    Dans ton cas, tu pourrais adopter par exemple ces noms :
    te_odetails_odt (odt_id, odt_order_id, odt_prodcode, odt_qty, odt_unitprice, odt_total, odt_shorttext, odt_option)

    Si tu ne peux pas changer la structure de la table, encadre dans tes requêtes les noms d'objets qui sont des mots SQL avec des apostrophes inversées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO odetails (id, order_id, prodcode, qty, unitprice, total, shorttext, `option`) 
    VALUES ('', 15, 'COTI03', '2', '80', '160', 'ASSISTANCE JURIDIQUE EMPLOYE', '' )
    Au passage :
    1) Inutile d'alimenter des colonnes à vide si c'est la valeur par défaut.
    Ne mets tout simplement pas ces colonnes dans ta requête.
    2) Inutile d'encadrer les valeurs numériques avec des apostrophes si elles alimentent une colonne de type numérique. C'est probablement le cas des colonnes "qty", "unitprice" et "total", et j'espère aussi de la colonne "id" qui est probablement de plus auto-incrémentée donc inutile de lui affecter une valeur, vide qui plus est !

    Pour finir...
    mais je n'y parviens pas.
    Quels symptômes ?
    - message d'erreur ?
    - pas d'insertion de la ligne dans la table ?
    - l'ordi a explosé ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Par défaut
    J'avais essayé déjà déjà de mettre option entre `` mais ça ne fonctionné pas. Le message d'erreur est vous avez une erreur dans votre requête à la ligne 1 erreur 1064.

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Donne le message d'erreur complet STP.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Par défaut
    Problème résolu, en fait cela provenait de order_id qui est en réalité orderid.
    Option m'a fait bloquer sur un problème qui n'en était pas un en fait.

    Merci de vos réponses.

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

Discussions similaires

  1. [MySQL] problème formulaire insert mysql
    Par ptiteuf dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 30/03/2010, 17h01
  2. Problème d'insertion (mySQL)
    Par Nimothenicefish dans le forum JDBC
    Réponses: 4
    Dernier message: 06/06/2008, 16h44
  3. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34
  4. Problème d'insertion ( équivalence mysql )
    Par syl2095 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/12/2004, 17h35
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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