我在使用 Python/MySQL 的日期时间格式时遇到了一些问题。
我使用以下脚本(由 Python 字典提供)计算日期时间:
tempDate = str(eachday.get("date").get("year")).zfill(4) + "-" +
str(eachday.get("date").get("month")).zfill(2) + "-" +
str(eachday.get("date").get("day")).zfill(2) + " " +
str(eachday.get("date").get("hour")).zfill(2) + ":" +
str(eachday.get("date").get("min")).zfill(2) + ":" +
str(eachday.get("date").get("sec")).zfill(2)
这会产生一个看起来像 的值2012-04-02 04:04:23
。
我可以毫无问题地插入 MySQL。
sql.execute("""INSERT INTO `db`.`table`(`id`, `fk_id`, `time`, `field1`, `field2`) VALUES (NULL, %s, %s, %s, %s);""", (fk_value, tempDate, value1, value2))
DB_CONN.commit()
但是当我尝试使用该日期时间删除任何内容时,
sql.execute("""DELETE FROM `db`.`table` WHERE `time` = "%s";""", (tempDate))
DB_CONN.commit()
它返回有关不正确日期时间值的警告:
Warning: Incorrect datetime value: ''2012-07-17 23:00:00'' for column 'time' at row 1
如何在 Python 中按日期时间删除?这尤其令人困惑,因为插入相同的变量(没有改变)可以完美地工作。