
No.3ベストアンサー
- 回答日時:
#1です。
おっしゃっていることが理解しがたいのですが、
PRIMARY KEYにあるデータを単に取り込みたいのであれば#2さんの
書かれているとおりですが、おそらく新しいテーブルにPRIMARY KEY
の属性をそのままつけたいという意味だと捉えたのですが・・・。
で、INSERT INTOでは当然PRIMARY KEY属性はつきません。
CREATE TABLEするさいに、必要フィールドにNOT NULLと
PRIMARY 設定をしてテーブルをつくり、INSERT INTO ・・・SELECT ・・・
するわけです。
そもそもCREATE TABLE ・・・ SELECT ・・・では
フィールドの属性もきれいにつきませんので、原則として
CREATE TABLEの際に、きちんと各フィールドの属性を指定して
つくってやるというのがまっとうなデータ移管の方式です。
この回答への補足
説明が悪かったです。申し訳ありません。
>PRIMARY KEYにあるデータを単に取り込みたいのであれば#2さんの
>書かれているとおりですが、おそらく新しいテーブルにPRIMARY KEY
>の属性をそのままつけたいという意味だと捉えたのですが・・・。
後者に書かれているように、属性をそのままつけたいと考えています。
インデックスのコピー(出来るか分かりませんが・・・)などで
対応は出来るのかなぁと今思っています。
もう少し調べてみます。
No.5
- 回答日時:
邪道かもしれませんが・・(笑
(この手順は、ちょっと責任がもてません。)
コピー元テーブルをMYISAMに変更します。(MYISAMでしたらそのままで)
MYSQL(サービス)を一度終了します。
データを保持しているファイルをコピーします。
data\データベース名\ の下に
コピー元テーブル名.frm と .MYD .MYI があると思います。
これをコピーして、新しいテーブル名の.frm .MYD .MYIにファイル名をします。
MYSQL(サービス)を起動します。
以上のような感じで出来ますが、これでは駄目でしょうか?
No.4
- 回答日時:
#2です。
「正しくcreateする」とは、
・not null属性を付ける
・primary keyであることを指定する
・その他、コピー元のテーブルが持っている属性を指定する
ということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLサーバに対するSQL文で抽出...
-
改行を含んだデータのインポート
-
Accessの構成をコピーしたい
-
SQLです!!教えてください。あ...
-
SQLです!!教えてください。あ...
-
「総降水量が100mm以上になる...
-
あってますか?SQL
-
テーブル名が可変の場合のクエ...
-
SQLで、Join句で結合したテ...
-
データ無し時は空白行にしたい...
-
2つのテーブルをLIKE演算子のよ...
-
結合したテーブルをSUMしたい
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
フラグをたてるってどういうこ...
-
プログラムよりファンクション...
-
オラクルのUPDATEで複数テーブル
-
エラーを起こす方法
-
追加クエリで重複データなしで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLサーバに対するSQL文で抽出...
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
結合したテーブルをSUMしたい
-
副問合せを使わずにUNIONと同様...
-
テーブル名が可変の場合のクエ...
-
2つのテーブルをLIKE演算子のよ...
-
ExcelのMatch関数のようなもの...
-
改行を含んだデータのインポート
-
PRIMARY KEYのコピー
-
ADO+ODBCでテーブルに接続する...
-
ACCESSのVBAにてExcelに行...
-
同一テーブル内での比較(最新...
-
(SQL)日数の計算
-
ExcelのVLOOKUP関数の動作をMyS...
-
データ無し時は空白行にしたい...
-
必要なテーブルの個数について。
-
複数選択か?単数選択か? テ...
おすすめ情報