У меня есть база данных mysql, которую я пытаюсь заполнить из текстового файла. Содержимое моего файла выглядеть (как только некоторые примеры. Есть тысячи строк)MySQL Bulk Insert of Geometry fields
1:GeomFromText('Polygon(0 0, 1 1, 2 2, 0 0)')
2:GeomFromText('Polygon(0 0, 1 2, 2 2, 0 0)')
В моей схеме, первое поле представляет собой целое число, а второй является ГЕОМЕТРИЯ
Я стараюсь, чтобы загрузить данные
LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE `testDb`.`testTable` FIELDS TERMINATED BY ':' LINES TERMINATED BY '\n'
И я получаю ошибку
Error Code 1416 Cannot get geometry object from data you send to the GEOMETRY field
Если я пытаюсь сделать индивидуальный вкладыш, как:
INSERT INTO TABLE testTable(id,region) VALUES (1,GeomFromText('Polygon(0 0, 1 1, 2 2, 0 0)'))
Он работает без проблем. Однако это очень неэффективно для большого количества вставок. Кто-нибудь знает, почему массовая загрузка бросает эту ошибку?
спасибо, Джефф
Почему бы вам не написать очень простой скрипт в bash или php или что-то, что будет выполнять все вставки при просмотре файла. Даже AWK мог бы сделать это достаточно хорошо, я бы подумал. – Scott
Это несколько сотен тысяч вставок, что очень медленно в терминах баз данных. –
@Scott. на самом деле были некоторые другие замедления. теперь вставка с циклом занимает всего около 4 минут, так что это работает для нашего случая. Благодарю. –