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 :

insertion de données impossible


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de fripette
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 242
    Par défaut insertion de données impossible
    Bonjour,
    J'essais d'enregistrer des données dans une table avec la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String insertPrelevAIR="INSERT INTO PrelevAIR (idPrelevement,SitePrelev,Condition,SystemAir,TypChir,DefZone,Classe) " 
    +"values ('"+idPrelevment+"','"+sitePrelev+"','null','null','null','null','null');";
    Pour le moment , je veux juste entrer une identifiant de prélèvement (idPrelevement) et le nom du site où le prélèvement a été réalisé.

    Cependant, j'ai ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    *** SQLException caught in ConnectAndInsert()
    SQLState: 42000
    Message:  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 'Condition,SystemAir,TypChir,DefZone,Classe) values ('1.AIR.080808.STJ.1','Test',' at line 1
    Vendor:   1064
     
     
    *** SQLException caught in main()
    java.sql.SQLException: 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 'Condition,SystemAir,TypChir,DefZone,Classe) values ('1.AIR.080808.STJ.1','Test',' at line 1
    J'ai essayé de l'ajouter à partir de mon script et c'est à ce moment que j'ai ce message d'erreur.
    j'ai essayé aussi d'ajouter manuellement à partir de MySQL Query Browser mais erreur aussi.

    Je pense que ca vient de ma table car j'ai le même type de requête sur une autre table qui passe sans problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String insertEtablPrlvmnt="INSERT INTO Etabl_Prlvmt (idEtabl,idPrelevement,NEtude,type) values ('"+idEtabl+"','"+idPrelevment+"','"+nEtude+"','"+type+"');";
    info.ConnectAndInsert(insertEtablPrlvmnt);
    Alors voilà la structure de la table litigieuse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    table name PrelevAIR:
    PK : idPrelevment Varchar(50) not null Default value: NULL
    SitePrelev TINYTEXT Default value: NULL
    Condition TINYTEXT Default value: NULL
    SystemAir Varchar(50)  Default value: NULL
    TypChir Varchar(30)  Default value: NULL
    DefZone Varchar(15)  Default value: NULL
    Classe Varchar(15)  Default value: NULL
    J'ai aussi une colonne vide que je supprime à chaque fois et qui réapparait aussi sec.

    Auriez vous une idée s'il vous plait ?
    Parce que la requête me semble bonne ! Donc je ne sais pas d'où ca vient.
    Merci d'avance

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Bonjour,

    Ca ne peut pas marcher en mettant null entre quotes. MySQL l'interprète comme une chaîne de caractères "null" et non pas comme la valeur null.

    La meilleure des solutions, à mon avis, si il n'y a que 2 champs à remplir, c'est encore d'utiliser la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO PrelevAIR (idPrelevement, SitePrelev)
    VALUES ('valeur1', 'valeur2')
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre confirmé Avatar de fripette
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 242
    Par défaut
    ok c'est bon ca marche.
    Je mettais "null" comme chaine de caractère ce qui me faciliter pour la détection de la valeur.
    En effet lorsque c'est la valeur NULL et non pas "null", je ne savais pas qu'il fallait passser pas IFNULL.
    Mtnt je sais comment détecter cette valeur je n'ai plus de soucis.
    Merci pour votre aide.

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Le test pour vérifier si une donnée est NULL n'est pas
    donnee = NULL
    mais
    donnee IS NULL


    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre confirmé Avatar de fripette
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 242
    Par défaut
    bon je pense que j'ai un problème avec les caractéristiques de ma table car la requête suivante (qui n'a rien de bien compliquée) ne marche pas non plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE PrelevAIR SET Condition='hors activité humaine',
    SystemAir='Conventionnel',TypChir='Chirurgie propre',DefZone='HRI<sup>a<sup>',
    Classe='B10' WHERE idPrelevement='1.AIR.080808.STJ.1'

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Quel est le message d'erreur ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/06/2011, 09h25
  2. problème d'insertion de données
    Par Falgan dans le forum ASP
    Réponses: 2
    Dernier message: 06/04/2004, 09h29
  3. [Interbase 7] Problème d'insertion de données
    Par Tuscelan dans le forum InterBase
    Réponses: 12
    Dernier message: 19/11/2003, 22h58
  4. insertion de données
    Par m-l dans le forum SQL
    Réponses: 9
    Dernier message: 25/07/2003, 13h59
  5. [Postgresql] pb lors d'insertion de données
    Par bob20000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/11/2002, 15h33

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