sql >> Databasteknik >  >> RDS >> Mysql

Deklarera och använda MySQL varchar-variabler

Jag stötte på samma problem med MySQL Workbench. Enligt MySQL-dokumentationen , DECLARE "statement deklarerar lokala variabler inom lagrade program." Det betyder tydligen att det bara är garanterat att fungera med lagrade procedurer/funktioner.

Lösningen för mig var att helt enkelt ta bort DECLARE och introducera variabeln i SET påstående. För din kod skulle det betyda:

-- 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. Exportera till csv/excel sätt att inkludera inledande nolla

  2. PDO anslutningstest

  3. Fulltextsökning sedan PostgreSQL 8.3

  4. Kontrollera om sekvensen finns i Postgres (plpgsql)