У меня есть файл CSV, который имеет 3 столбца, и моя таблица имеет 4 столбца (один из них — автоинкремент id, который я хочу автоинкремментировать). Я хочу загрузить 3 столбца из CSV в выбранные 3 столбца в таблице.
Пробный код:
LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip (ipstart, ipend, countrycode) FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ;
который выдает ошибку:
ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса, который следует использовать рядом с полями ‘TERMINATED BY’, ‘ENCLOSED BY’ » LINES TERMINATED BY ‘\ r \ n’ ‘в строке 1
Список столбцов находится в неправильном месте в вашем утверждении. Следуйте синтаксису в документации.
Вы хотите что-то вроде этого:
LOAD DATA LOCAL INFILE 'info.csv'
INTO TABLE tbl_countryip
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(ipstart, ipend, countrycode)
Ссылка: http://dev.mysql.com/doc/refman/5.5/en/load-data.html
Следуйте ниже шагов-
1) связаться с любым графическим интерфейсом, как sqlyog.
2) выберите БД> выберите таблицу> щелкните правой кнопкой мыши таблицу> выберите импорт> импортировать данные CSV с помощью загрузки …
3) выбрать все столбцы, кроме первичного ключа.
4) поставьте 1 в опцию ingnore line, если ваш CSV-файл содержит заголовок.
5) нажмите на импорт
Если вы хотите сделать по команде, то команда должна быть в соответствии с ниже-
LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (ipstart, ipend, countrycode);
Примечание. Если ваша директория не там, где существует CSV-файл, вам нужно указать полный путь.
Если ваш CSV-файл содержит строку заголовка, вы должны исключить его, как показано ниже:
LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (ipstart, ipend, countrycode);
Я удалил столбец id из таблицы, чтобы и таблица, и файл csv имели 3 столбца, а затем запустили команду load csv, а затем вставили столбец id в таблицу с автоинкрементом.