** COPYでCSVデータをテーブルへINSERTする [#sd34288b]
* COPYでCSVデータをテーブルへINSERTする [#sd34288b]

*** ファイルから [#xf7ef03d]
 COPY user (name,age,tel) FROM '/tmp/user.csv' DELIMITER AS ','
*** 標準入力から [#i72c35de]
 COPY category FROM stdin DELIMITERS ',';
 (↓コピペする) 
 1,建設業
 2,製造業
 3,情報通信業
 \.

http://www.postgresql.jp/document/pg837doc/html/sql-copy.html

*** seirial型のカラムがある場合 [#yd460c1e]
COPYコマンドを使った後、そのテーブルにserial型のカラムがある場合、シーケンスが狂う。
例えば、プライマリキーcategory_idがserial型で、category_idを明示せずにINSERT文を実行するとエラーになる。
 INSERT INTO category (category_name) values ( 'サービス業');
 ERROR:  duplicate key violates unique constraint "category_pkey"

この場合、下のようにシーケンスを操作する。
 SELECT setval('category_category_id_seq',(SELECT max(category_id) FROM category))
http://www.postgresql.jp/document/pg837doc/html/functions-sequence.html

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS