2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
這些步驟可用于模擬此功能:
1)創(chuàng)建一個(gè)新的臨時(shí)表。
CREATE TEMPORARY TABLE temporary_table LIKE target_table;
2)(可選)從臨時(shí)表中刪除所有索引以加快速度。
SHOW INDEX FROM temporary_table;DROP INDEX `PRIMARY` ON temporary_table;DROP INDEX `some_other_index` ON temporary_table;
3)將CSV加載到臨時(shí)表中
LOAD DATA INFILE 'your_file.csv'INTO TABLE temporary_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'(field1, field2);
4)使用ON DUPLICATE KEY UPDATE復(fù)制數(shù)據(jù)
SHOW COLUMNS FROM target_table;INSERT INTO target_tableSELECT * FROM temporary_tableON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2);
5)刪除臨時(shí)表
DROP TEMPORARY TABLE temporary_table;
使用SHOW INDEX FROM
和SHOW COLUMNS FROM
此過(guò)程可以針對(duì)任何給定的表自動(dòng)執(zhí)行。

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
我們可以在(Jan)共享的過(guò)程中用下面的單個(gè)查詢替換第一個(gè)(兩個(gè)步驟)。
1)和2)我們可以創(chuàng)建具有相同參考結(jié)構(gòu)且沒(méi)有任何索引的新表。
CREATE TEMPORARY TABLE temporary_table SELECT * FROM target_table WHERE 1 = 0;
代替..
1)創(chuàng)建一個(gè)新的臨時(shí)表。
CREATE TEMPORARY TABLE temporary_table LIKE target_table;
2)(可選)從臨時(shí)表中刪除所有索引以加快速度。
顯示來(lái)自temporary_table的索引; DROP INDEX PRIMARY
ON temporary_table; DROP INDEX some_other_index
ON temporary_table;
添加回答
舉報(bào)