Мне нужно вставить шесть текстовых файлов в таблицы MySQL. Я хочу вставить файл txt10.txt
в таблицу D1, файл txt20.txt
в таблицу D2, файл txt30.txt
в таблицу D3 и т. Д. Но все текстовые файлы вставляются во все таблицы MySQL.
Мой код ниже:
Arr1 = Array("txt10", "txt20", "txt30", "txt40", "txt50", "txt60")
Arr2 = Array("D1", "D2", "D3", "D4", "D5", "D6")
For K = 0 To UBound(Arr1)
For I = 0 To UBound(Arr2)
SQL = " FLUSH TABLE `tbl_" & Arr2(I) & "_" & Year(Date()) & "`; "
cn.Execute(SQL)
SQL = " LOAD DATA LOCAL INFILE 'D:\\nOpen\\" & Arr1(K) & ".txt' "
SQL = SQL & " INTO TABLE `tbl_" & Arr2(I) & "_" & Year(Date()) & "` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;"
cn.Execute(SQL)
Next
Next
РЕДАКТИРОВАТЬ # 1
В вашем коде у меня ошибка:
Индекс массива вне диапазона
На этой строке:
tbl = Arr2(n)
Новый код:
Arr1 = Array("txt10", "txt20", "txt30", "txt40", "txt50", "txt60")
Arr2 = Array("D1", "D2", "D3", "D4", "D5", "D6")
For n=0 To UBound(Arr1)
txt = Arr1(n)
tbl = Arr2(n)
SQL = " FLUSH TABLE `tbl_" & tbl & "_" & Year(Date()) & "`; "
cn.Execute(SQL)
SQL = " LOAD DATA LOCAL INFILE 'D:\\nOpen\\" & txt & ".txt' "
SQL = SQL & " INTO TABLE `tbl_" & tbl & "_" & Year(Date()) & "` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;"
cn.Execute(SQL)
Next