К сожалению, в настоящее время util.importTable
в MySQL Shell 8.0.18 не поддерживает пользовательские переменные, передаваемые в опции столбцов.
Вы можете обойти это ограничение, используя ALTER TABLE с отсутствующими столбцами, которые существуют в файле данных импорта с соответствующимитип столбца:
alter table names add column (dummy1 integer, dummy2 integer);
импортируйте ваши данные, например /tmp/names.csv
[1]
util.importTable( "/tmp/names.csv", {table:"names", columns: ["id", "firstname", "dummy1", "dummy2", "lastname"], dialect: "csv-unix"})
и пропустите dummy
столбцы:
alter table names drop column dummy1;
alter table names drop column dummy2;
или просто вызовитеLOAD DATA LOCAL INFILE SQL-команда:
LOAD DATA LOCAL INFILE '/tmp/sample.csv'
INTO TABLE myschema.mytable
(id, firstname, @dummy, @dummy, lastname);
[1] Пример данных /tmp/names.csv
1,"Nicole",71,29,"Tusk"
2,"Bob",49,66,"Schiffer"
3,"Susan",61,17,"Tusk"
4,"Bob",24,59,"Trump"
5,"Nicole",25,46,"Goldberg"
6,"Bob",16,71,"Goldberg"
7,"Mark",43,43,"Schiffer"