2012-03-15 82 views

回答

1

它直接在MySQL中做到這一點是不可能的。但是您可以嘗試將日期時間部分添加到文件名中,然後使用'cat'(UNIX命令)或'type'(DOS命令)將某些文件合併到新文件中。

幫助:cat (Unix)

+0

鏈接是壞的,可能要刪除或更新。 – 2015-11-05 18:09:46

+0

謝謝。鏈接已更改。 – Devart 2015-12-03 15:55:34

5

你不能做到這一點與SELECT INTO OUTFILE。該命令僅創建新文件,並且如果該文件已經存在,將會失敗。

您可以使用MySQL客戶端中的TEE命令將查詢輸出附加到現有文件。

這裏是你的榜樣追加兩個查詢結果使用TEE同一個文件:

TEE ~/TestInput/Results.csv 

SELECT * 
FROM Results; 

SELECT * 
FROM Results; 

NOTEE 
+0

如何將它包裝在存儲過程中,並檢查文件是否首先存在(在使用TEE之前)? – stackoverflow 2012-03-15 14:30:47

+1

如果你想檢查文件是否先存在,你應該用腳本語言(python,bash,perl等)來做,而不是在存儲過程中。 – 2012-03-15 14:35:25

4

您可以合併的結果和一次寫。 TEE會記錄所有可能不合意的事情。在你的情況下:

SELECT * FROM Results UNION 
SELECT * FROM Results INTO OUTFILE '~/TestInput/Results.csv';