Bonjour,
Je me lance dans l'optimisation de mon site et les procédures stockées.J'ai galéré pendant 3h hier et finalement j'ai installé Debugger for MySQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DECLARE _time_tag INTEGER; DECLARE _time_temoin INTEGER DEFAULT UNIX_TIMESTAMP(); SELECT ...,time_tag INTO ...,_time_tag FROM ... WHERE ...; IF (_time_tag + 120) >= _time_temoin THEN .... ELSEIF .... THEN .... ENDIF;
Lorsque j'exécute la procédure, j'arrive sur la ligne du IF.
Message d'erreur 1241, SQLSate 21000, Operand should contain 1 column!
Le champ de la table est de type INT(11);
Lorsque je place le curseur de ma souris sur ces variables, j'ai bien les valeurs attendues.
Lorsque je remplace les variables par les valeurs en question, ça passe nickel.
J'ai essayé en déclarant les variables avec TIMESTAMP et dans ce cas, le contenu des variables est NULL.
J'ai essayé en déclarant les variables avec INTEGER(11), même message d'erreur alors que variables renseignées correctement.
J'ai beau chercher sur le net, à chaque fois ça fait référence à un "résultat multiple".
Avez vous une idée pour m'aider?
Merci
Partager