0

既存のテーブルからすべての列とデータをコピーしたい場合、以下のクエリを使用しています。

CREATE TABLE newtable LIKE oldtable; 
INSERT newtable SELECT * FROM oldtable;

ここで、列インデックスとデータを持つ既存のテーブルからのみ、いくつかの特定の列を持つ新しいテーブルを作成したいと考えています。

1つの回避策は次のとおりです。

ステップ1:

CREATE TABLE newtable LIKE oldtable; 

ステップ2:

INSERT newtable(some specific colums) SELECT (some specific colums) FROM oldtable;

ステップ 3:

新しいテーブルに不要な他の列を削除します。

特定の列のみを含む新しいテーブルを作成したいので、手順 3 に従う必要はありません。

ありがとう、ロナック

4

1 に答える 1

1

これを試して:

CREATE TABLE newtable AS ( SELECT id FROM oldtable );

oldtable にはさらに多くのフィールドがあることに注意してください。

これがsqlfiddleリンクです。

于 2013-09-10T11:02:26.340 に答える