Igoelが提案するように値を複製する意思がない限り(値が長い場合は理想的ではない可能性があります)、簡単な答えはいいえです。 。
簡単に勇気づけられる可能性の1つは、エイリアスNEW
着信値を表すために、実際にクエリに再度表示することなく最終値を複製できるようにします(そして、これがクエリオプティマイザーによって取り出されることを願っています):
UPDATE `myTable` SET
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";
残念ながら、これはUPDATE
ではサポートされていません ステートメント、トリガー本体内のみ。
ステートメントを実行する前に、文字置換(,
)のいずれかを使用して、C++で操作を行う必要があります。 の場合 )または文字の削除。前者は現在よりも複雑なコードを生成する可能性があり、後者は非効率的である可能性があります(クエリ構築コードの構造によって異なります)が、それでも最善の策です。