Kecuali jika Anda bersedia menduplikasi nilai seperti yang disarankan Igoel (yang mungkin tidak ideal jika nilainya panjang), jawaban sederhananya adalah tidak .
Satu kemungkinan yang mendorong secara singkat adalah penggunaan alias NEW
untuk mewakili nilai yang masuk, sehingga nilai akhir dapat diduplikasi tanpa benar-benar harus menyajikannya dalam kueri lagi (dan saya berharap ini akan diambil oleh pengoptimal kueri):
UPDATE `myTable` SET
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";
Sayangnya, ini tidak didukung dalam UPDATE
pernyataan, hanya di dalam badan pemicu.
Anda harus melakukan manipulasi di C++ Anda sebelum mengeksekusi pernyataan, baik melalui penggantian karakter (,
untuk ) atau penghapusan karakter; yang pertama mungkin menghasilkan kode yang lebih kompleks daripada yang Anda miliki sekarang, dan yang terakhir mungkin tidak efisien (bergantung pada struktur kode pembuatan kueri Anda), tetapi ini tetap merupakan pilihan terbaik Anda.