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 :

Gros pb avec IF dans req MySql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Par défaut Gros pb avec IF dans req MySql
    Bonsoir à tous,

    Depuis le début de l'AM je galère sur une requête avec IF et je vois pas ou il y a une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *, IF (SELECT * FROM maTable WHERE `id` = 2342) IS NULL THEN INSERT INTO maTable (`id`, `totalJour`) VALUES ('2342', 1000') 
    ELSE UPDATE maTable SET `totalJour` = '1001' WHERE `id` = '2342') END IF FROM maTable WHERE id = 2342
    J'obtiens toujpurs le même message :
    #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 'SELECT * FROM `matable` WHERE `id` = 2342) IS NULL THEN INSERT INTO `m' at line 1
    Qui peut me dire pourquoi ?
    D'avance merci

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Utilisez ON DUPLICATE KEY

  3. #3
    Membre chevronné
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Par défaut
    Que souhaites tu faire exactement? D'ou sorte tes valeurs 1000 et 1001 et ton id (2342)?

    Regardes du cote du replace de mysql : REPLACE INTO matable(id,totalJour) VALUES(2342 , 1000/1001) => peut fonctionner avec un select

    OU :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO matable(id,totalJour) VALUES (2342, 1000) ON DUPLICATE KEY UPDATE totalJour = 1001;

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Par défaut
    Merci pour vos réponses, la soluce
    INSERT INTO .... ON DUPLICATE KEY fonctionne très bien !
    Encore merci

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

Discussions similaires

  1. Comment déployée un processus avec JBPM dans MySQL
    Par nsnous1 dans le forum Wildfly/JBoss
    Réponses: 5
    Dernier message: 12/10/2012, 13h27
  2. [MySQL] inserer un lien hypertext avec parametre dans mysql par php
    Par gubule dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/10/2009, 14h22
  3. Piloter Excel avec PHP (données dans BD MySQL)
    Par beegees dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/08/2008, 19h53
  4. PROBLEME : chiffre avec virgule dans MySQL
    Par cedre22 dans le forum Requêtes
    Réponses: 11
    Dernier message: 15/12/2005, 16h41
  5. recuperer des mails stocker dans base MySQL avec Outlook
    Par freddy92110 dans le forum Outlook
    Réponses: 1
    Dernier message: 06/11/2005, 19h26

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