用不同的日期格式将txt导入mysql

sirbozc5  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(747)

我想做的是将txt中的“12/26/17 14:30”转换为mysql中的“2017-12-26 14:30:00”
我已经尝试过用不同的日期格式0将csv导入mysql
所以我的代码是这样的

create_tb_str = r'''DROP TABLE IF EXISTS TABLENAME;
        CREATE TABLE TABLENAME (
        Datetime DATETIME,
        Open float(8,3),            
        High float(8,3),            
        Low float(8,3),             
        Close float(8,3), 
        Volume INT,                           
        PRIMARY KEY (Datetime)
        );'''
insert_tb_str = r''' LOAD DATA LOCAL INFILE 'FILENAME'  
INTO TABLE  TABLENAME  FIELDS TERMINATED BY '\t\t'  
ENCLOSED BY '"' LINES
TERMINATED BY '\n' 
(@time, open, high, low, close, @dummy, volume);
SET Datetime = STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S');   
'''

但是,在我生成.sql并尝试导入到我的数据库后,这是我得到的结果,终端无法识别我的表的列名。

$:~/Downloads/bartest$ mysql -u root -p bar -A < bartest.sql
Enter password: 
ERROR 1193 (HY000) at line 21: Unknown system variable 'Datetime'

有什么建议吗?

eivnm1vs

eivnm1vs1#

STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S'); 返回null,因为它与字符串输入模式不匹配。
请尝试以下操作: STR_TO_DATE('12/26/17 14:30','%m/%d/%y %k:%i'); 提取日期后,将其转换为所需的日期格式。
要单步完成,您还可以尝试:“select convert(datetime,'12/26/17 14:30');”
希望有帮助!

相关问题