select @code:= SUM(field1 + field2), @code+1 from abc;
Tuttavia, tieni presente quanto segue (da MySQL 5.6 documenti ):
Come regola generale, a parte le istruzioni SET, non dovresti mai assegnare un valore a una variabile utente e leggere il valore all'interno della stessa istruzione. Ad esempio, per incrementare una variabile, va bene:
SET @a = @a + 1;
Per altre istruzioni, come SELECT, potresti ottenere i risultati che ti aspetti, ma questo non è garantito. Nella seguente affermazione, potresti pensare che MySQL valuterà prima @a e poi eseguirà un'assegnazione in secondo luogo:
SELECT @a, @a:[email protected]+1, ...;
Tuttavia, l'ordine di valutazione per le espressioni che coinvolgono variabili utente non è definito.
Quindi, usalo a tuo rischio.