在MySQL中,臨時表是在當前會話期間創建的,并在會話結束時自動刪除
首先,使用SELECT
語句將臨時表的數據導出到CSV文件。這里假設你的臨時表名為temp_table
,并且你想將數據導出到名為output.csv
的文件中。
SELECT * INTO OUTFILE '/path/to/output.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM temp_table;
請確保將/path/to/output.csv
替換為實際的文件路徑。此外,根據需要調整字段和行分隔符。
接下來,將CSV文件導入到目標數據庫的表中。假設你已經在目標數據庫中創建了一個與臨時表結構相同的表,名為target_table
。
LOAD DATA INFILE '/path/to/output.csv'
INTO TABLE target_table
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n';
請確保將/path/to/output.csv
替換為實際的文件路徑。此外,根據需要調整字段和行分隔符。
注意:在執行這些操作時,請確保具有足夠的權限。對于SELECT ... INTO OUTFILE
和LOAD DATA INFILE
,你需要FILE
權限。另外,請確保MySQL服務器上的secure_file_priv
系統變量允許訪問指定的文件路徑。如果secure_file_priv
設置為空,那么你可以在任何位置讀寫文件。如果設置為特定目錄,那么你只能在該目錄中讀寫文件。你可以通過運行以下命令查看secure_file_priv
的值:
SHOW VARIABLES LIKE 'secure_file_priv';