ホームページ > データベース > mysql チュートリアル > 単一レコードの変更に基づいて SQL で複数のレコードを更新するにはどうすればよいですか?

単一レコードの変更に基づいて SQL で複数のレコードを更新するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-06 17:34:02
オリジナル
236 人が閲覧しました

How to Update Multiple Records in SQL Based on a Single Record Change?

SQL での単一レコードの変更に基づいた複数のレコードの変更

質問:

複数のレコードの位置を更新する方法

解決策:

この問題に対処するには、複数のレコードを変更する複雑なクエリが必要になる場合があります。ただし、データ構造を簡単に調整することで、プロセスを簡素化し、目的のレコードのみを変更する単一のクエリで実行できます。

この例では、テーブルに「Position」フィールドが含まれています。 「ListID」で識別されるリスト内の項目を並べ替えます。項目 (例: 「洋梨」を「チップス」の前に移動) を移動するには、その位置を目的の位置に設定し、その間にあるすべての項目の位置を調整する必要があります。

私たちの目標は、クエリに依存せずに単一のクエリを実現することです。

その後、次のクエリを使用できます。

<code class="sql">UPDATE my_table SET position = 15 WHERE listId=1 AND name = 'Pears';</code>
ログイン後にコピー

将来、並べ替えが繰り返されることでアイテム間にギャップが生じたとします。この問題を解決するには、次のクエリを定期的に実行します。

<code class="sql">UPDATE my_table SET position = position * 10;</code>
ログイン後にコピー

ポジションの値を 10 倍にすることで、順序情報を失うことなく将来の調整に対応できる十分なギャップが生まれます。

以上が単一レコードの変更に基づいて SQL で複数のレコードを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート