sql >> Database >  >> RDS >> Mysql

Declareren en gebruiken van MySQL varchar-variabelen

Ik kwam hetzelfde probleem tegen met MySQL Workbench. Volgens de MySQL-documentatie , de DECLARE "statement declareert lokale variabelen binnen opgeslagen programma's." Dat betekent blijkbaar dat het alleen gegarandeerd werkt met opgeslagen procedures/functies.

De oplossing voor mij was om gewoon de DECLARE . te verwijderen statement, en introduceer de variabele in de SET uitspraak. Voor uw code zou dat betekenen:

-- 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. Maak een door de gebruiker gedefinieerde functie die werkt met GROUP BY in mysql

  2. LOCALTIMESTAMP-voorbeelden - MySQL

  3. datum vergelijken met een vooraf gedefinieerd formaat pl sql

  4. MySQL Vul ontbrekende datums tussen twee datums in voor een bepaalde status