PostgreSQLの質問です。
元テーブルを新規テーブルに項目だけコピーしたいのですが、
primary key などの制約も同時にコピーする方法を教えて頂けないでしょうか?
下記で、空のテーブルをコピーできると思ったのですが、これでは制約はコピーされないようです。
CREATE TABLE tableName_temp AS SELECT * FROM tableName WHERE 1 = 0
また、後付で制約をつけるにも、CREATE TABLE時にしかつけることができないみたいです。
何かよい方法がありましたら、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
>primary key などの制約も同時にコピーする方法
これは1個のSQLでは、できないようです。
>後付で制約をつけるにも、CREATE TABLE時にしかつけることができないみたい
これは誤解のようであり、alter tableで行なえます。
私の環境は、PostgreSQL 8.0.0ですが、試しにやってみました。
(1)表の定義
create table t1
(c1 int primary key,
c2 int,
c3 int);
(2)データ格納
insert into t1 values(1,11,111);
insert into t1 values(2,22,222);
insert into t1 values(3,33,333);
(3)表定義&データコピー
create table t2 as select * from t1;
(4)primary key追加
alter table t2 add primary key(c1);
調べている最中に、制約はCREATE TABLE時にしかつけることができないという項目を見つけてしまったので、そう解釈していたのですが違ったのですね
alter tableで無事行う事ができました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL MYSQL エラー 2 2022/10/18 11:37
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列が存在しないと言われる
-
0の除算
-
大量データを更新したら、処理...
-
長いSQL文を実行するには?
-
DBから日付順に指定件数の削除...
-
constraint と index の違い
-
INSERTできるレコード数を制限...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
変数が選択リストにありません
-
「直需」の意味を教えてください
-
アクセス エラーを数値「0」に...
-
Accessでテーブル名やクエリ名...
-
Vbaでアクセスからエクセルにリ...
-
Accessのフィールド数が255しか...
-
セルの右クリックで出る項目を...
-
Oracle 2つのDate型の値の差を...
-
テーブルの存在チェックについて
-
Accessでテーブルの値をテキス...
-
INSERT INTO ステートメントに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
列が存在しないと言われる
-
0の除算
-
constraint と index の違い
-
DBから日付順に指定件数の削除...
-
alter tableすると、処理が止ま...
-
PostgreSQLで表結合+DELETEしたい
-
INSERTできるレコード数を制限...
-
COPY時のtimestamp型について
-
長いSQL文を実行するには?
-
RDB経験者向けのAccess参考書
-
Null値を無視してユニークにしたい
-
大量データを更新したら、処理...
-
INSERTできない
-
SQLite:項目が存在しない場合の...
-
powergres(postgres)にalter文...
-
DB2でUNIQUE制約を削除したい
-
SQLで特定データがNULLなら別デ...
-
【初歩】 主キー&ユニーク&AU...
-
DB2 「既存カラムへのnot null...
-
副問い合わせ
おすすめ情報