我正在開發一個項目,我必須解析一堆.csv文件,所有不同的格式,並通過一些包含不同種類的數據C++函數。之後,我從這些文件中提取數據,並創建一個可以在psql中導入的.sql文件,以便在稍後階段將數據插入到PostgreSQL數據庫中。PostgreSQL:創建一個.sql文件以最快的方式將數據插入表格
但我無法弄清.sql文件的正確語法。下面是一個示例表和樣品.sql文件複製同樣的錯誤我得到:
表創建代碼:
CREATE TABLE "Sample_Table"
(
"Col_ID" integer NOT NULL,
"Col_Message" character varying(50),
CONSTRAINT "Sample_Table_pkey" PRIMARY KEY ("Col_ID")
)
insertion.sql(副本行後,由製表符分隔的字段)
copy Sample_Table (Col_ID, Col_Message) from stdin;
1 This is Spaaarta
2 Why So Serious
3 Baazinga
\.
現在,如果我執行上面的SQL文件,我得到以下錯誤:
ERROR: syntax error at or near "1"
LINE 2: 1 This is Spaaarta
^
********** Error **********
如果可以提供幫助,我正在運行PostgreSQL 9.1版本,所有上述查詢都是通過PGAdmin III軟件執行的。
錯誤:無效的整數輸入語法:「1」這是Spaaarta'「 - 這是我從psql使用\ i命令執行時現在得到的錯誤消息。 http://pastebin.com/WR6yN8Ar是我使用的輸入文件(注意它有雙引號的列名和表名) – mahtuag 2012-02-16 12:40:43
@MHG:使用問題中的CREATE TABLE和原始的pastebin數據_I_得到另一個錯誤:'...錯誤:結束標誌損壞'。在將一行換行添加到'\ .'行後,文件正確導入(每個標題都被''包圍,但這不是一個showstopper)。 – 2012-02-16 13:51:24
@MHG:請在答案中查看我的更新。 – 2012-02-16 14:22:55