我有以下代碼:MySQL如何將文件附加到INTO OUTFILE文件中?
SELECT * INTO OUTFILE'~/TestInput/Results.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM Results;
期望的結果是持續不斷追加到Results.csv
我有以下代碼:MySQL如何將文件附加到INTO OUTFILE文件中?
SELECT * INTO OUTFILE'~/TestInput/Results.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM Results;
期望的結果是持續不斷追加到Results.csv
它直接在MySQL中做到這一點是不可能的。但是您可以嘗試將日期時間部分添加到文件名中,然後使用'cat'(UNIX命令)或'type'(DOS命令)將某些文件合併到新文件中。
幫助:cat (Unix)
你不能做到這一點與SELECT INTO OUTFILE
。該命令僅創建新文件,並且如果該文件已經存在,將會失敗。
您可以使用MySQL客戶端中的TEE
命令將查詢輸出附加到現有文件。
這裏是你的榜樣追加兩個查詢結果使用TEE
同一個文件:
TEE ~/TestInput/Results.csv
SELECT *
FROM Results;
SELECT *
FROM Results;
NOTEE
如何將它包裝在存儲過程中,並檢查文件是否首先存在(在使用TEE之前)? – stackoverflow 2012-03-15 14:30:47
如果你想檢查文件是否先存在,你應該用腳本語言(python,bash,perl等)來做,而不是在存儲過程中。 – 2012-03-15 14:35:25
您可以合併的結果和一次寫。 TEE會記錄所有可能不合意的事情。在你的情況下:
SELECT * FROM Results UNION
SELECT * FROM Results INTO OUTFILE '~/TestInput/Results.csv';
鏈接是壞的,可能要刪除或更新。 – 2015-11-05 18:09:46
謝謝。鏈接已更改。 – Devart 2015-12-03 15:55:34