A meno che tu non sia disposto a duplicare un valore come suggerisce Igoel (che potrebbe non essere l'ideale se il valore è lungo), la risposta semplice è no .
Una possibilità brevemente incoraggiante è stata l'uso di l'alias NEW
per rappresentare i valori in entrata, in modo che il valore finale possa essere duplicato senza doverlo effettivamente presentare nuovamente nella query (e mi auguro che questo venga eliminato da Query Optimizer):
UPDATE `myTable` SET
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";
Purtroppo, questo non è supportato in un UPDATE
istruzione, solo all'interno di un corpo trigger.
Dovrai eseguire la manipolazione nel tuo C++ prima di eseguire l'istruzione, sia tramite la sostituzione dei caratteri (,
per ) o rimozione del personaggio; il primo potrebbe produrre un codice più complesso di quello che hai ora e il secondo potrebbe essere inefficiente (a seconda della struttura del codice di creazione delle query), ma è comunque la soluzione migliore.