sql >> Base de Datos >  >> RDS >> Mysql

Declarar y usar variables varchar de MySQL

Me encontré con el mismo problema usando MySQL Workbench. Según la documentación de MySQL , el DECLARE "la declaración declara variables locales dentro de los programas almacenados". Eso aparentemente significa que solo se garantiza que funcione con funciones/procedimientos almacenados.

La solución para mí fue simplemente eliminar DECLARE e introduce la variable en el SET declaración. Para su código eso significaría:

-- 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;