LOAD DATA LOCAL INFILE
Загружаю в базу через LOAD DATA LOCAL INFILE этот файл http://download.geonames.org/export/...CodesASCII.txt
В нем 3963 строки.
В базе в итоге оказывается 3910.
Нахожу визуально в файле строки, которые не попали в базу - они ничем внешне от соседних попавших в базе не отличаются.
В чем причина бага?
Например 58 и 61 строки попали в базу, а 59 нет, почему?
код
---------- Добавлено 28.07.2019 в 09:26 ----------
Проблему нашел - `admin_code` varchar(10) DEFAULT NULL,
Создатель базы не предполагал что значение может быть больше 10, а они есть!
В нем 3963 строки.
В базе в итоге оказывается 3910.
Нахожу визуально в файле строки, которые не попали в базу - они ничем внешне от соседних попавших в базе не отличаются.
В чем причина бага?
Например 58 и 61 строки попали в базу, а 59 нет, почему?
код
Цитата:
database=geo table=admin1_codes_ascii cd /tmp wget http://download.geonames.org/export/...CodesASCII.txt /usr/bin/mysql $@ -e 'CREATE DATABASE IF NOT EXISTS '$database'; USE '$database'; CREATE TABLE IF NOT EXISTS '$table' ( `admin_code` varchar(10) DEFAULT NULL, `name` varchar(200) DEFAULT NULL, `asciiname` varchar(200) DEFAULT NULL, `id` int(11) NOT NULL, PRIMARY KEY (`admin_code`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;' /usr/bin/mysql $@ --local-infile=1 -e "USE $database; TRUNCATE $table; SET character_set_database = utf8; LOAD DATA LOCAL INFILE '/tmp/admin1CodesASCII.txt' INTO TABLE $table FIELDS TERMINATED BY \"\t\" LINES TERMINATED BY \"\n\" (admin_code, name, asciiname, id);" |
---------- Добавлено 28.07.2019 в 09:26 ----------
Проблему нашел - `admin_code` varchar(10) DEFAULT NULL,
Создатель базы не предполагал что значение может быть больше 10, а они есть!