0

3,000 万行のテーブルをテキスト ファイルから MYSQL テーブルにインポートすると、1 分しかかかりませんでした。しかし、列を見逃していたため、テーブルに追加する必要があることに気付きました。MYSQL コマンド ラインから、次のコマンドを作成しました。

create tableC as(tableA.T1, tableB.ZID from tableA, table B where A.ZID = B.ZID)

1 時間以上経過しましたが、コマンドは終了していません。その理由を知っている人はいますか?TableB は既に MYSQL サーバーにありました。

4

1 に答える 1

0

100%確実ではありませんが、最初にテーブルを変更して列を追加してから、更新を行ってその列にデータを入力する方がよい場合があります。

ALTER TABLE tableB ADD COLUMN colA yourColumnDefinition;
UPDATE tableB SET colA = <however you do it>;

どのテーブルに列を追加しているのか、またはどのように計算しているのか、完全にはわかりません。投稿したクエリに基づくと、2つのテーブルのIDを相互にマッピングするためのマッピングテーブルを作成しているようです。その場合は、テーブルの1つに外部キーを配置する方がよいでしょう。

繰り返しますが、これはあなたが探しているものと正確には一致しないかもしれませんが、すでに作成したテーブルに列を追加したいだけの場合は、これがより良いアプローチかもしれません。

于 2012-05-31T23:23:14.167 に答える