2017-03-10 10 views
0

私はクローンしたい別の名前を付けるmysqlテーブルに問題があります。私が試してみるときインデックスを使用してSQLテーブルを複製する方法

CREATE TABLEデータ1 AS SELECT * FROMデータ;

実行中にスタックされ、決して実際には何もしません。中止する必要があります。

事は私のテーブル「データ」

のようなSQLのソースで、いくつかの余分なコマンドデータ(キーワード)ON INDEXキーワードを作成していることです。

これはいくつかありますが、私はこれらの余分なコマンドなしで他のテーブルをクローンすることができたので、これが原因であると思われます。私はSQLで新しいので、私はこの問題を克服する方法は考えていない。誰でも助けてくれますか?

答えて

0

使用する構文はcreate table likeです。同じ構造のテーブルを作成し、その後でデータをコピーすることができます。

https://dev.mysql.com/doc/refman/5.7/en/create-table-like.html

第2の解決策は、データを含むテーブルstructurを抽出するmysqldumpを使用してダンプ・ファイル内のテーブルの名前を変更し、それを再インポートすることです。

+0

オーケーずにコピーするには、私のような構文を使用することができ、それがテーブルを作成し、ただし、データはインポートされません。どのようにデータをコピーするのですか? .dumpファイルからそれを抽出するのはちょっと面倒です。 – 1233023

+0

@ 1233023 data1に挿入 (SELECT * FROM data); – Jens

+0

これは私のためには機能しません。ここでそれは実行に固執し、私は中止する必要があります – 1233023

0

- コピーテーブルに制約

CREATE TABLE new_table_name LIKE old_table_name; 

と - 制約

CREATE TABLE new_table_name 
(SELECT * FROM old_table_name WHERE 0); 

source

関連する問題