J'essaie de faire quelques manipulations simples avec des variables dans MySQL 5.0 mais je n'arrive pas vraiment à le faire fonctionner. J'ai vu beaucoup de syntaxes (très!) Différentes pour DECLARE/SET, je ne sais pas pourquoi ... en tout cas je les confondrais vraisemblablement/en choisissant le mauvais/en les mélangeant.Déclarer et utiliser les variables MySQL varchar
est ici un fragment minimal qui échoue:
DECLARE FOO varchar(7);
DECLARE oldFOO varchar(7);
SET FOO = '138';
SET oldFOO = CONCAT('0', FOO);
update mypermits
set person = FOO
where person = oldFOO;
J'ai aussi essayé emballer avec BEGIN ... END; et comme une procédure. Dans ce cas MySQL Workbench me dit utilement: "Erreur de syntaxe SQL près de ')'" sur la première ligne et "Erreur de syntaxe SQL près de 'DECLARE oldFOO varchar (7)'" sur la seconde. Dans le cas contraire, les deux lignes sont considérées comme des erreurs complètes, avec "Erreur de syntaxe SQL proche de ..." sur les deux. Edit: J'ai oublié de mentionner que je l'ai essayé avec et sans @ sur les variables. Certaines ressources l'ont eu avec, d'autres sans.
Quelle erreur stupide je fais? Il semblerait que vous ayez oublié la déclaration de variable @ dans l'ordre de
Poster exactement ce que vous essayez d'utiliser, parce que J'ai créé une nouvelle procédure et je n'obtiens pas d'erreur de syntaxe en utilisant ce que vous avez fourni - voir ma réponse. –