SQL ステートメントの多数のフィールドのいずれかをオプションで更新する方法はありますか? 次のようなところまでしか取得できません。
UPDATE Customer SET
ContactName = ? <=== what to do here if ? is null???
, CompanyName = ? <=== what to do here if ? is null???
, AddressId = ? <=== what to do here if ? is null???
, ...
WHERE CustomerId = ?
ラッパー層と MySQL の制限により、単一のステートメントである必要があります。
明確にするために、リストされたフィールドの 1 つ以上の非 null 値で実行され、値が null でないフィールドのみを更新し、他のフィールドはそのままにする 1 つのステートメントを作成したいと思います。
これは RESTful な更新 API のためのもので、考えられるすべてのフィールドの組み合わせに対して個別のステートメントを必要とせず、API 呼び出し元がレコードのすべてのフィールドを提供することを要求したくありません。将来性があります (フィールドを追加すると、既存の API 呼び出しが中断されます)。これは REST API であるため、マップPOST /customer/xxx?ContactName=...&CompanyName=...
してレコードを更新しようとしています。