sql >> データベース >  >> RDS >> Mysql

MySQLがUPDATEステートメントのSET句の末尾のコンマを無視できるようにするトリックはありますか?

    Igoelが提案するように値を複製する意思がない限り(値が長い場合は理想的ではない可能性があります)、簡単な答えはいいえです。

    簡単に勇気づけられる可能性の1つは、エイリアスNEW 着信値を表すために、実際にクエリに再度表示することなく最終値を複製できるようにします(そして、これがクエリオプティマイザーによって取り出されることを願っています):

    UPDATE `myTable` SET 
       `Field1` = "value",
       `Field2` = "value",
       `Field3` = "value",
    --- `Field3` = NEW.`Field3`
    WHERE `Field4` = "value";
    

    残念ながら、これはUPDATEではサポートされていません ステートメント、トリガー本体内のみ。

    ステートメントを実行する前に、文字置換(,)のいずれかを使用して、C++で操作を行う必要があります。 の場合 )または文字の削除。前者は現在よりも複雑なコードを生成する可能性があり、後者は非効率的である可能性があります(クエリ構築コードの構造によって異なります)が、それでも最善の策です。



    1. MySQL-オペランドには1つの列が含まれている必要があります

    2. 過度のパスワード要求なしで端末からループするにはどうすればよいですか

    3. TSQLとGUIを使用してデータベースを削除する方法-SQLServer/TSQLチュートリアルパート25

    4. SQLServerのPRINTステートメントの概要