ホームページ > データベース > mysql チュートリアル > 一致基準に基づいて SQL 行を効率的に転送および削除するにはどうすればよいですか?

一致基準に基づいて SQL 行を効率的に転送および削除するにはどうすればよいですか?

DDD
リリース: 2024-12-16 18:09:16
オリジナル
160 人が閲覧しました

How to Efficiently Transfer and Delete SQL Rows Based on Matching Criteria?

データの転送: ある SQL テーブルから別の SQL テーブルへの行の移動

最初の問題:

ユーザーは、特定の一致基準に基づいて、ある SQL テーブルから別の SQL テーブルにデータを転送することを目的としています。この特定のケースでは、クエリでは、条件「username = 'X'」および「password = 'X'」を満たすすべての行を Table1 から Table2 に移動する必要があります。その後、これらの行を Table1 から削除する必要があります。

技術的解決策:

このデータ移行を効率的に実行するには、単一の SQL 内で 2 段階のプロセスを使用できます。取引。これには、最初の挿入とその後の削除が含まれます。

BEGIN TRANSACTION;
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition>;

DELETE FROM Table1
WHERE <condition>;

COMMIT;
ログイン後にコピー

追加の考慮事項:

指定された基準に一致する新しいレコードが、挿入と削除のプロセスでは、より複雑なクエリを使用できます。

BEGIN TRANSACTION;
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition> AND NOT EXISTS (SELECT 1 FROM Table2 WHERE <condition>);

DELETE FROM Table1
WHERE <condition>;

COMMIT;
ログイン後にコピー

この追加により、元のTable1 の一致する行は Table2 に転送され、その後 Table1 から削除されます。

以上が一致基準に基づいて SQL 行を効率的に転送および削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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