我一直有一個問題好幾天了,並且遇到了一堵磚牆。首先,正如標題所示,我一直在努力將CSV文件導入到SQL數據庫。SQL CSV文件 - 跳過特定列號後的所有列
更具體的說,這是通過服務器上的PHP腳本和通過MySQL將數據庫完成的。
我目前有大約30個CSV文件(這個數字預計會增加),每天更新一次,然後每天觸發一次cron腳本來更新新數據。它通過LOAD DATA INFILE
加載文件。所有這些都很完美。
問題是: 每個CSV文件包含不同的列數。列數範圍在50-56列之間。我在這個共同數據庫中存儲的數據只需要前8列。我已經知道如何使用@dummy跳過單個列,這要歸功於以下Q & A:How to skip columns in CSV file when importing into MySQL table using LOAD DATA INFILE?
但是,由於不同列計數,虛擬計數並不總是相同,所以我想知道是否有從列1-8中獲取數據的方式,然後忽略所有後面的列數?
我現在不能測試,但對剛剛只包括八列來填充呢? 'LOAD DATA INFILE'file.txt'INTO TABLE t1(c1,c2,c3,c4,c5,c6,c7,c7,c8)' – AbraCadaver
這實際上是完美的。以前,我嘗試過類似的方法,但是產生了「未知列數」。謝謝 – gooner89
太好了,請接受答案。 – AbraCadaver