ホームページ > データベース > mysql チュートリアル > MySQL の INSERT INTO...SELECT を使用するときにすべての列を効率的に保持する方法は?

MySQL の INSERT INTO...SELECT を使用するときにすべての列を効率的に保持する方法は?

Patricia Arquette
リリース: 2024-12-04 13:10:10
オリジナル
500 人が閲覧しました

How to Efficiently Preserve All Columns When Using MySQL's INSERT INTO...SELECT?

効率的な INSERT INTO...SELECT による列データの保持

すべての列を保持しながら、ある MySQL テーブルから別の MySQL テーブルにデータを転送する場合、共通の課題が生じます。 INSERT INTO this_table_archive (*) VALUES (SELECT * FROM this_table WHEREentry_date < '2011-01-01 00:00:00'); という形式を使用します。

MySQL マニュアルで説明されている正しい構文は次のとおりです。

INSERT INTO this_table_archive (col1, col2, ..., coln) 
SELECT col1, col2, ..., coln
FROM this_table
WHERE entry_date < '2011-01-01 00:00:00'; 
ログイン後にコピー

この改訂された形式では、ターゲット テーブル内の各列に明示的に名前が付けられています。すべてのデータが適切にコピーされていること。

さらに、id 列が自動インクリメントとして構成されており、両方のテーブルにデータが含まれている場合、列リストから除外すると有利です。これにより、重複した ID の挿入によって生じる潜在的な競合が防止されます。ただし、対象テーブルが空の場合は省略する必要はありません。

以上がMySQL の INSERT INTO...SELECT を使用するときにすべての列を効率的に保持する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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