Mysql
 sql >> Database >  >> RDS >> Mysql

Dichiarazione e utilizzo delle variabili MySQL varchar

Ho riscontrato lo stesso problema utilizzando MySQL Workbench. Secondo la documentazione MySQL , il DECLARE "l'istruzione dichiara le variabili locali all'interno dei programmi memorizzati." Ciò apparentemente significa che è garantito che funzioni solo con procedure/funzioni archiviate.

La soluzione per me era semplicemente rimuovere il DECLARE istruzione e introduci la variabile nel SET dichiarazione. Per il tuo codice ciò significherebbe:

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