импорт файла csv и преобразование столбца при импорте
1. я пытался использовать тип данных date_time DATETIME NOT NULL: я получаю код ошибки: 1264. Значение вне диапазона для столбца «date_time» в строке 1
2. я пытался использовать тип данных date_time int NOT NULL: я получаю код ошибки: 1264. Значение вне диапазона для столбца «date_time» в строке 1
в файле доходы.csv представлен столбец время: время - заголовок 1546361872 - значение
CREATE TABLE incoming (
user_id VARCHAR(50) NOT NULL,
url VARCHAR(255) NOT NULL,
domain VARCHAR(100) NOT NULL,
date_time DATETIME NOT NULL
);
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server
8.0/Uploads/incomes.csv'
INTO TABLE incoming
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
SET date_time = FROM_UNIXTIME(date_time
);
example of first 4 rows of csv file (including headers)
| user_id | domain | time |
| 1 | @gmail.com | 1546366951 |
| 2 | @gmail.com | 1546354528 |
| 3 | @gmail.com | 1546365429 |
я ожидал увидеть date_time, преобразованное из формата времени unix в формат даты и времени
Что я делаю неправильно? Благодарность
Это не совсем способ преобразования строк, считанных из CSV-файла — вам нужно поместить метку времени в определяемую пользователем переменную, а затем применить функцию from_unixtimestamp. Пожалуйста, ознакомьтесь с предварительной обработкой ввода здесь dev.mysql.com/doc/refman/8.0/en/load-data.html






Несколько строк из вашего CSV-файла помогут.