【问题标题】:Importing a txt to MySQL with different date format将具有不同日期格式的 txt 导入 MySQL
【发布时间】:2018-01-17 18:33:39
【问题描述】:

我要做的是将txt中的“12/26/17 14:30”转移到MySQL中的“2017-12-26 14:30:00”

我已经尝试过这个Importing a CSV to MySQL with different date format0

所以我的代码看起来像这样

 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'

有什么建议吗?

【问题讨论】:

  • 你应该连接到一个特定的数据库,而不是仅仅以 root 身份到处乱窜并在 mysql 命名空间中创建它们。
  • 您将保留的 MySQL 参数用作 name --- DATETIME 应该用作 name。我会将您的字段重命名为不那么“参数化”的名称

标签: python mysql stock-data


【解决方案1】:

STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S'); 正在返回 null,因为它与字符串输入模式不匹配。

试试这样的:STR_TO_DATE('12/26/17 14:30','%m/%d/%y %k:%i');

在 DATE 中提取后,将其转换为所需的日期格式。

单步执行,也可以试试:"SELECT CONVERT(datetime, '12/26/17 14:30');"

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 2019-06-12
    • 2021-09-30
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多