[SQL] Instruction conditionnelle IF avec MySQL
5 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
[SQL] Instruction conditionnelle IF avec MySQL
Voici ce que j'ai lu sur :
http://dev.mysql.com/doc/mysql/en/if-statement.html
Ce que j'essaie de faire c'est :
Mais ça ne marche pas
J'ai aussi essayé avec des ";"
Mais ca ne fontionne pas non plus : "you have an sql error".
J'ai posé la question sur 2 autres forums, aucune réponse
Je ne comprends pourquoi ça ne fonctionne pas alors que d'après la doc ça le devrait
http://dev.mysql.com/doc/mysql/en/if-statement.html
- Code: Tout sélectionner
IF search_condition THEN statement_list
[ELSEIF search_condition THEN statement_list] ...
[ELSE statement_list]
END IF
IF implements a basic conditional construct. If the search_condition evaluates to true, the corresponding SQL statement list is executed. If no search_condition matches, the statement list in the ELSE clause is executed. statement_list can consist of one or more statements.
Ce que j'essaie de faire c'est :
- Code: Tout sélectionner
IF SELECT champ1 FROM table WHERE champ1='valeur1' THEN UPDATE table SET champ2=champ2+1 WHERE champ1='valeur1'
ELSE INSERT INTO table (champ1,champ2) VALUES ('valeur1','valeur2')
END IF
Mais ça ne marche pas
J'ai aussi essayé avec des ";"
- Code: Tout sélectionner
IF SELECT champ1 FROM table WHERE champ1='valeur1' THEN UPDATE table SET champ2=champ2+1 WHERE champ1='valeur1';
ELSE INSERT INTO table (champ1,champ2) VALUES ('valeur1','valeur2');
END IF
Mais ca ne fontionne pas non plus : "you have an sql error".
J'ai posé la question sur 2 autres forums, aucune réponse
Je ne comprends pourquoi ça ne fonctionne pas alors que d'après la doc ça le devrait
Ha c'est bien digne d'un SuperPJ ...
en effet, la doc n'a pas l'air très claire, et l'un des commentaires dit "there is no real answer"
c'était trop beau pour être vrai ?
on devrait peut-être contacter le support mysql, qui sait...
en effet, la doc n'a pas l'air très claire, et l'un des commentaires dit "there is no real answer"
c'était trop beau pour être vrai ?
on devrait peut-être contacter le support mysql, qui sait...
Essaye avec des parenthèses :
IF (SELECT champ1 FROM table WHERE champ1='valeur1') THEN (UPDATE table SET champ2=champ2+1 WHERE champ1='valeur1')
ELSE (INSERT INTO table (champ1,champ2) VALUES ('valeur1','valeur2'))
END IF
Verifie egalement la version de ton serveur MySQL, ca fonctionne à partir d'une certaine version je crois.
Nico
IF (SELECT champ1 FROM table WHERE champ1='valeur1') THEN (UPDATE table SET champ2=champ2+1 WHERE champ1='valeur1')
ELSE (INSERT INTO table (champ1,champ2) VALUES ('valeur1','valeur2'))
END IF
Verifie egalement la version de ton serveur MySQL, ca fonctionne à partir d'une certaine version je crois.
Nico
je vois pas pourquoi un
select champ from table where champ=toto renverrait true or false
donc, moi, en sql, quand je veux savoir si un enregistrement existe, je vais un
select count(*) from table where champ = toto
donc, dans ton cas, je ferais un truc genre
if (select count(*) from table where champ1=valeur > 0) ....
plutot
select champ from table where champ=toto renverrait true or false
donc, moi, en sql, quand je veux savoir si un enregistrement existe, je vais un
select count(*) from table where champ = toto
donc, dans ton cas, je ferais un truc genre
if (select count(*) from table where champ1=valeur > 0) ....
plutot
5 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Gestion des langues et des sessions en PHP / MySQL
- Passage à l'heure d'été/hiver sur un forum phpBB
- Le marketing viral au service du référencement
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Sortie officielle de GoogleStats v2.0 !
- Le WRInaute du moment
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum