Om du inte är villig att duplicera ett värde som Igoel föreslår (vilket kanske inte är idealiskt om värdet är långt), är det enkla svaret nej .
En kortfattat uppmuntrande möjlighet var användningen av aliaset NEW
för att representera de inkommande värdena, så att det slutliga värdet kan dupliceras utan att faktiskt behöva presentera det i frågan igen (och jag hoppas att detta skulle tas bort av frågeoptimeraren):
UPDATE `myTable` SET
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";
Tyvärr, detta stöds inte i en UPDATE
uttalande, endast inuti en utlösarkropp.
Du måste göra manipulationen i din C++ innan du kör satsen, antingen genom teckenersättning (,
för ) eller borttagning av tecken; den förra kan producera mer komplex kod än du har nu, och den senare kan vara ineffektiv (beroende på strukturen i din frågebyggande kod), men det är fortfarande din bästa insats.