我對PostgreSQL非常新。其實我以前使用MySQL,但由於某些項目特定的原因,我需要使用PostgreSQL並執行POC。MySQL負載數據INFILE與PostgreSQL COPY FROM命令
現在的問題是: 我正在使用MySQL LOAD DATA INFILE命令將列內容從文件加載到我的數據庫表中。
我的表結構是: 表名:MSISDN 表的列名:ID(主鍵 - AUTO_GENERATED),JOB_ID,MSISDN,地區,STATUS
但我輸入的文本文件(rawBase.txt)是具有隻有低於列: MSISDN,地區
所以我正在使用以下命令加載這些上面2列與初始JOB_ID和STATUS。
LOAD DATA INFILE 'D:\\project\\rawBase.txt' INTO TABLE MSISDN
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(MSISDN,REGION)
SET JOB_ID = 'XYZ1374147779999', STATUS = 0;
,你可以看到,在LOAD DATA INFILE命令可用選項在那裏我可以設置特定的初始值是在不輸入文本文件存在(JOB_ID和狀態)列。
NOW,
在PostgreSQL的情況下,我想同樣的事情發生。
也有同類的命令可用COPY從 象下面這樣:
COPY MSISDN FROM 'D:\\project\\rawBase.txt' WITH DELIMITER AS ','
,但我不能夠設置一個特定的初始值,其餘的列中不存在(JOB_ID和狀態)在我的輸入文本文件中。我沒有得到任何有成效的例子。
如果可能,請給出一些建議。
問候, 桑迪
您可以將數據加載到臨時表中,並使用'INSERT ... SELECT ...'將其從臨時表複製到真正的表中? –
lgor ..感謝您的評論,但作爲文件副本是非常巨大的記錄因此使用臨時表將是耗時的任務。 – Sandy