A menos que você queira duplicar um valor como Igoel sugere (o que pode não ser ideal se o valor for longo), a resposta simples é não .
Uma possibilidade brevemente encorajadora foi o uso do o alias
NEW
para representar os valores recebidos, para que o valor final possa ser duplicado sem realmente ter que apresentá-lo na consulta novamente (e espero que isso seja retirado pelo otimizador de consulta):UPDATE `myTable` SET
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";
Infelizmente, isso não é suportado em um
UPDATE
declaração, apenas dentro de um corpo de gatilho. Você terá que fazer a manipulação em seu C++ antes de executar a instrução, seja por meio de substituição de caracteres (
,
para
) ou remoção de caracteres; o primeiro pode produzir um código mais complexo do que você tem agora, e o último pode ser ineficiente (dependendo da estrutura do seu código de construção de consulta), mas ainda é sua melhor aposta.