Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Declarando e usando variáveis ​​varchar do MySQL


Eu me deparei com o mesmo problema usando o MySQL Workbench. De acordo com a documentação do MySQL , o DECLARE "instrução declara variáveis ​​locais dentro de programas armazenados." Isso aparentemente significa que só é garantido que funcione com procedimentos/funções armazenados.

A solução para mim foi simplesmente remover o DECLARE instrução e introduza a variável no SET declaração. Para o seu código, isso significaria:
-- DECLARE FOO varchar(7); 
-- DECLARE oldFOO varchar(7);

-- the @ symbol is required
SET @FOO = '138'; 
SET @oldFOO = CONCAT('0', FOO);

UPDATE mypermits SET person = FOO WHERE person = oldFOO;