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

Erklæring og brug af MySQL varchar-variabler

Jeg løb ind i det samme problem med MySQL Workbench. Ifølge MySQL-dokumentationen , DECLARE "sætning erklærer lokale variabler i lagrede programmer." Det betyder tilsyneladende, at det kun er garanteret at arbejde med lagrede procedurer/funktioner.

Løsningen for mig var simpelthen at fjerne DECLARE sætning, og indfør variablen i SET udmelding. For din kode ville det betyde:

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

  1. Find den ældste post i en joinforbindelse mellem to tabeller

  2. LEFT JOIN vs. LEFT OUTER JOIN i SQL Server

  3. få fælles rækker fra en tabel mod en hvilken som helst kolonne

  4. Sådan udskrives indlæg og kommentarer med kun én sql-forespørgsel