2016-12-14 14 views
-1

私は30フィールドのテーブルt1を持ち、15フィールドのデータだけを別のテーブルに転送したいとします。どうやってするか? t1は150万件のレコードを持っています1つのテーブルから別のテーブルに大量データ(何百万)を転送する方法

+0

私はバッチ更新10000 recを一度に950000の後に 'ロックの数を超えました'というエラーを表示しています。私を助けてください。 – NASIRUDDIN

+0

["ロックの総数がロックテーブルのサイズを超えています" [267レコードの削除](http://stackoverflow.com/questions/10253482/the-total-number-of-locks-exceeds-the-lock-テーブルサイズの削除 - 267レコード) –

答えて

2

最初のステップカウントレコード。次に、このクエリを実行します。

INSERT INTO `tbl2` SELECT * FROM `tb1` LIMIT COUNT/2; 

tbl2構造はtbl1と同じです。

特に言及リンクの上にthisトピック

+0

tb1のすべてのフィールドを使用したくない – NASIRUDDIN

+0

LIMIT COUNT/2を使用します。コードが更新されました – Ghorbanzadeh

0

を参照してくださいあなたが照会するのに役立ちます。しかし、私は提案を持っている、それは任意のプロダクションDBの場合は、直接クエリを実行すべきではありません。ストアドプロシージャを記述し、チャンクでチャンクを転送する必要があります。チェックthis

関連する問題