ホームページ >データベース >mysql チュートリアル >多くの列を持つ MySQL で行を効率的に複製するにはどうすればよいですか?

多くの列を持つ MySQL で行を効率的に複製するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 01:57:02545ブラウズ

How to Efficiently Duplicate Rows in MySQL with Many Columns?

MySQL での行の複製: 複数の列の課題を克服する

問題:

同じ列に行をコピーするtable で多数の列を扱う場合は困難になる可能性があります。従来の方法では、SELECT ステートメントですべての列を明示的にリストする必要がありますが、これは大規模なテーブルでは現実的ではありません。

提案された解決策:

一時テーブルを中間テーブルとして使用すると、各列を指定する問題を回避します。ただし、これには、同一の列を持つ一時テーブルを作成し、複製プロセスのために複数のステートメントを実行する必要があります。

Leonard Challis のテクニック:

Leonard Challis は、簡素化する代替アプローチを提供しています。プロセス:

<br>CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE Primarykey = 1;<br>UPDATE tmptable_1 SET Primarykey = NULL;<br>INSERT INTO table SELECT * FROM tmptable_1; <br>DROP TEMPORARY TABLE IF EXISTS tmptable_1;<br>

利点:

  • 手動で列を指定する必要がないように一時テーブルを利用します.
  • 一時テーブルの主キーを NULL に設定し、MySQL が一意の値を割り当てられるようにします。
  • 完了後に一時テーブルを削除し、乱雑さを防ぎます。

追加の考慮事項:

  • 確実に 1 行のみが挿入されるようにするには、INSERT INTO 行に LIMIT 1 を追加することを検討してください。
  • 主キーの値を

結論:

Leonard Challis の手法は、多数の列を持つテーブル内の行を複製するための簡単で効率的なソリューションを提供します。これにより、手動で列をリストする必要がなくなり、潜在的なエラーが減り、プロセスが簡素化されます。

以上が多くの列を持つ MySQL で行を効率的に複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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