Pokud nejste ochotni duplikovat hodnotu, jak navrhuje Igoel (což nemusí být ideální, pokud je hodnota dlouhá), jednoduchá odpověď je ne .
Jednou stručně povzbudivou možností bylo použití aliasu NEW
reprezentovat příchozí hodnoty, takže konečná hodnota může být duplikována, aniž by bylo nutné ji znovu prezentovat v dotazu (a doufám, že to bude odstraněno optimalizátorem dotazu):
UPDATE `myTable` SET
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";
Bohužel, toto není podporováno v UPDATE
pouze uvnitř těla spouště.
Před provedením příkazu budete muset provést manipulaci ve vašem C++, a to buď nahrazením znaků (,
pro ) nebo odstranění postavy; první může produkovat složitější kód, než máte nyní, a druhý může být neefektivní (v závislosti na struktuře vašeho kódu pro vytváření dotazů), ale stále je to vaše nejlepší volba.