MySql: variabili temporaee
02/02/2018L'utilizzo delle variabili temporanee in mysql può risultare molto utile per evitare la creazione di tabelle e campi di appoggio e la conseguente necessità di effettuare query multiple.
Poniamo come esempio la necessità di invertire il contenuto di due campi diversi a fronte di una determinata clausola da rispettare.
Se voglio invertire il contenuto dei campi post e content solo quando la category ha un determinato valore, creo prima le due variabili temporanee a cui assegno il valore originario e poi procedo all'update invertendo il conteuto del campo, assegnando al where la clausola che determina l'update.
Ecco la query di esempio:
UPDATE article SET post =(@temppost:= post), content =(@tempcontent := content), post = @tempcontent , content = @temppost WHERE category = 'public'
Naturalmente si possono impostare anche più di due variabili temporanee, e ognuna di esse sarà valida esclusivamnete il tempo di esecuzione della query.
Enjoy :)