csvsql into mysql:使用 Timestamp,需要 Datetime

csvsql into mysql: uses Timestamp, need Datetime

提问人:Petr Blahos 提问时间:3/24/2020 最后编辑:Petr Blahos 更新时间:3/24/2020 访问量:146

问:

我正在尝试使用 csvkit / csvsql 将 csv 导入 mysql。csvkit 正确检测日期时间列。它尝试创建类型为 TIMESTAMP 的表,但我需要 DATETIME。

有没有办法强制使用 DATETIME 而不是 TIMESTAMP?我试图直接在代码中更改它(我最终会成功),但这很愚蠢。

注意:我编辑了agatesql/table.py:

SQL_TYPE_MAP = {
    agate.Boolean: None,  # See below
    agate.Number: None,  # See below
    agate.Date: DATE,

    #### Changed this from:
    # agate.DateTime: TIMESTAMP, 
    #### to:
    agate.DateTime: DATETIME, 

    agate.TimeDelta: None,  # See below
    agate.Text: VARCHAR,
}
MySQL 的CSVKit

评论

0赞 JonM 4/30/2020
+1 我遇到了同样的问题。就我而言,这似乎是 SqlAlchemy 中定义的 mssql 方言的问题。我通过将visit_TIMESTAMP的返回值更改为“DATETIME”来使其工作,这远非理想。奇怪的是,那里有评论承认mssql时间戳与标准SQL时间戳不同......当然有更好的方法

答: 暂无答案