Загрузить CSV-файл, чтобы выбрать столбцы в таблице

У меня есть файл 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

2

Решение

Список столбцов находится в неправильном месте в вашем утверждении. Следуйте синтаксису в документации.

Вы хотите что-то вроде этого:

  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

2

Другие решения

Следуйте ниже шагов-

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);
2

Я удалил столбец id из таблицы, чтобы и таблица, и файл csv имели 3 столбца, а затем запустили команду load csv, а затем вставили столбец id в таблицу с автоинкрементом.

0
По вопросам рекламы [email protected]