Problème avec un select first qui génère une erreur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec un select first qui génère une erreur

par Ajoloca » 17 janv. 2007, 23:37

Merci Hubert,

La seconde partie, j'avais saisi. Je viens de comprendre la première,
mais j'avoue que jamais je n'aurais pensé que de tels tutos pouvaient exister.

You can't handle the truth

par Hubert Roksor » 17 janv. 2007, 23:33

Certains de mes posts sont rhétoriques, le précédent en fait partie mais je ferai une exception pour cette fois en explicitant. Je pense qu'il y a à peu près 0 chances pour qu'il s'agisse d'une confusion avec ALTER TABLE ou quoi que ce soit sorti du manuel de MySQL, mais plutôt un tutoriel pris au hasard sur le net. En l'occurence je viens de taper "SELECT FIRST" dans Google et je suis tomber sur celui-ci.

Quant au reste... je ne suis pas certain que jay64 aura compris qu'il faut en premier lire le manuel de MySQL pour comprendre ses erreurs, mais plutôt qu'en postant sa requête ici quelqu'un la corrigera.

par Ajoloca » 17 janv. 2007, 23:20

Moi je pense pas mais bon, thanks for all the fish.
Excuse-moi, je comprends pas bien. Peux-tu expliquer ?

par Hubert Roksor » 17 janv. 2007, 23:10

Moi je pense pas mais bon, thanks for all the fish.

par jay64 » 17 janv. 2007, 21:26

ok, je pense aussi. En tout cas, je note pour plus tard ...

par Ajoloca » 17 janv. 2007, 21:23

Re,

Je pense que tu faisais une confusion sur l'utilisation de first,

À ma connaissance il n'est utilisable que pour
ALTER TABLE
CREATE TABLE
HANDLER
et dans un sens de positionnement.

par jay64 » 17 janv. 2007, 21:14

Ben oui, tout simplement !

Bien vu !

Merci !

par Ajoloca » 17 janv. 2007, 20:33

Bonsoir,

Pourquoi ne pas utiliser LIMIT tout simplement ?

Code : Tout sélectionner

SELECT IdMatch FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch ASC LIMIT 0, 1;

par Hubert Roksor » 17 janv. 2007, 20:28

Comme le dit le message d'erreur, il y a une erreur aux alentours de "( IdMatch ) ...", il faut donc que tu vérifies dans le manuel la bonne syntaxe de FIRST(). D'ailleurs, c'est ce à quoi servent les messages d'erreur, il faut les lire et suivre leurs conseils.

PS: attention il y a un piège

Problème avec un select first qui génère une erreur

par jay64 » 17 janv. 2007, 20:20

Bonjour à tous,

Je cherche à faire la chose suivante : récupérer uniquement le premier des six enregistrements que me retourne une requete contenant un WHERE et un ORDER BY.

Voici ma requete de base :
SELECT IdMatch FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch ASC;
Je pensais simplement la transformer pour obtenir ceci :
SELECT FIRST (IdMatch) FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch ASC;
Mais ça ne marche pas, ça me renvoie l'erreur suivante :
MySQL a répondu:

#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 '( IdMatch ) FROM prono_MatchLigue1 WHERE IdJourneeLigue1 = 22 ORDER BY IdMatch A' at line 1
Quelqu'un peut-il m'aider ?

Merci !