ホームページ >データベース >mysql チュートリアル >INSERT INTO...SELECT を使用して MySQL で 1 つのテーブルから別のテーブルにすべての列を正しく挿入する方法

INSERT INTO...SELECT を使用して MySQL で 1 つのテーブルから別のテーブルにすべての列を正しく挿入する方法

DDD
DDDオリジナル
2024-12-07 19:57:13492ブラウズ

How to Correctly Insert All Columns from One Table to Another in MySQL Using INSERT INTO...SELECT?

INSERT INTO...SELECT を使用してターゲット テーブルにすべての列を挿入します

ワイルドカード (*) を選択した INSERT INTO ステートメント。問題のトラブルシューティングを行い、有効な解決策を見つけてみましょう。

列名を指定せずに (*) を使用してすべての列を選択すると、エラーが発生します。 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';

col1、col2、...、coln を置き換えます。

ID 列に関しては、両方のテーブルに自動インクリメント ID があり、どちらかにデータがすでに存在する場合テーブルの場合、潜在的な重複キーの競合を避けるために、クエリの列リストから ID を省略することを検討してください。

空のターゲット テーブルの場合、この省略によって問題は発生しません。ただし、データを含むテーブルの場合、id 列を除外すると、コピーされた行に対して新しい一意の ID が確実に生成されます。

以上がINSERT INTO...SELECT を使用して MySQL で 1 つのテーブルから別のテーブルにすべての列を正しく挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。