下面的代码不适用于导入日期,我不知道为什么。csv中的日期类似于DD/MM/YYYY,错误是它导入了所有数据,但每个日期都为空。错误还说:ER_UNKNOWN_SYSTEM_VARIABLE:未知系统变量"FECHA_POSICION">
csv文件中的行如下所示:EDC0000166600/7089855,21/01/2021,21/01/2021,";"存款";,40004000EDC0000266600/7089855,2021/01,29/2021,CFD,"-9,94〃"3990,06〃;
USE DATA_BASE;
CREATE TABLE ESTADO_DE_CUENTA (
ID_OPERACION VARCHAR(20) NOT NULL PRIMARY KEY,
ID_CUENTA VARCHAR(20),
FECHA_POSICION DATE,
FECHA_VALOR DATE,
CONCEPTO VARCHAR(100),
IMPORTE FLOAT(12, 2),
SALDO_EN_EFECTIVO FLOAT(12, 2)
);
LOAD DATA LOCAL INFILE 'PATH.csv' INTO TABLE ESTADO_DE_CUENTA2
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
(ID_OPERACION, ID_CUENTA, @FECHA_POSICION, @FECHA_VALOR, CONCEPTO, IMPORTE,
SALDO_EN_EFECTIVO)
SET FECHA_POSICION = STR_TO_DATE(@FECHA_POSICION, '%d/%m/%Y')
SET FECHA_VALOR = STR_TO_DATE(@FECHA_VALOR, '%d/%m/%Y')
您只能调用SEt一次,所有列都必须用逗号分隔
像
USE DATA_BASE;
LOAD DATA LOCAL INFILE 'PATH.csv' INTO TABLE ESTADO_DE_CUENTA2
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
(ID_OPERACION, ID_CUENTA, @FECHA_POSICION, @FECHA_VALOR, CONCEPTO, IMPORTE,
SALDO_EN_EFECTIVO)
SET `FECHA_POSICION` = STR_TO_DATE(@FECHA_POSICION, '%d/%m/%Y') , `FECHA_VALOR` = STR_TO_DATE(@FECHA_VALOR, '%d/%m/%Y')