行を更新し、更新が失敗した場合は同じ行を削除しますアイテムとそのカテゴリを集計するテーブルがあります。アイテムには複数のカテゴリを含めることができます。簡略化されたスキーマとサンプルデータを次に示します。219カテゴリマージ機能もあります。これを行うとき、ソースカテゴリでリンクされている製品を宛先(マージされた)カテゴリに移動します。項目をカテゴリ159から219に移動するには、次のようなSQLを使用します。159しかし、すでに4059-219(PK制約)があるため、更新は失敗します。219データベースでストアドプロシージャや関数を使用することはできませんが、必要な手順をアプリケーションに実装できます。「catIDの219と159を同時に持つitemIDを返す」のようなものです。JNevillのアプローチを使用できません。それはこの2段階のソリューションのアイデアを与えてくれます。159他のすべての回答/コメントをありがとう。2次のクエリを試してください。3この方法では、一時的に制約を削除して更新を許可し、最後に戻します。更新操作が失敗する「操作では更新可能なクエリを使用する必要があります。