プロが教える店舗&オフィスのセキュリティ対策術

どなたかご存知の方、ご教示下さい!

CSVファイルよりCOPYコマンドでテーブルにレコードをインポートしようとしているのですが、
その際、timestamp型についてNULLだった場合には\Nを記述する様にしました。

ところが下記の様なテーブルの場合に、COPYが上手くいきません。

<テーブル TEST>
AAA varchar(10)
BBB timestamp
CCC varchar(10)
DDD timestamp

<CSVファイル TEST.csv>
てすと,\N,てすと,\N

<実行したコマンド>
COPY TEST from 'TEST.csv' using delimiters ',';

<psqlのエラーメッセージ>
ERROR: copy: line 1, Bad timestamp external representation '\N

カラムBBBは問題ないのですが、
カラムDDD(最後尾のカラム)がNULLの場合にエラーになってしまいます。

何か特別な記述が必要なのでしょうか???
情報お持ちの方いらっしゃいましたらどうぞよろしくお願い致します。

A 回答 (1件)

>カラムBBBは問題ないのですが、


>カラムDDD(最後尾のカラム)がNULLの場合にエラーになってしまいます。

改行コードに一票
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
私も改行が何か関係あるのか?と思い、NULLの場合の値指定を変えてみたり(\Nではなくて空白文字列とか)、
さらに改行コードを最後に付け足して試したりとかやってみたのですが、
エラーは出なくなっても本来NULLであるべき所に""が入ってしまったりで結局解決する事が出来ませんでした・・・。
時間的にも余裕が無かったので、苦肉の策ではありますが、
テンポラリのカラムを最終カラムに付け足して、COPYの後にALTER TABLEのDROP COLUMNで削除・・・という手段を取りました。
私が何か見落としてる、又はミスってると思うのですけどねぇ・・今後も調査したいと思っています。
ご回答、どうもありがとうございました。また、これまで閲覧頂いた方もありがとうございました。

お礼日時:2005/02/28 10:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す