如何为mysql格式化datetime?

时间:2013-12-01 00:09:47

标签: python mysql datetime mysql-python

我想将日期和时间从python发送到mysql。 MySQL中的变量类型是datetime。 我使用了年 - 月 - 日 - 小时:分钟:秒,但是当我正在编译时,它会在空格后(时间部分开始时)给出错误。显示,我如何为这个变量创造良好的价值?

错误:

错误1064:您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'12:00:00,',7000,NULL,NULL,'',NULL,'',5,'','',''附近使用正确的语法',NULL,'',NULL,NULL,NULL,NULL,'','在第2行

2 个答案:

答案 0 :(得分:0)

格式应为:

 YYYY-MM-DD HH:MM:SS not YYYY-MM-DD HH-MM-SS

关于您的错误消息,它似乎从datetime字段的中间开始。尝试将单引号放在它们周围。

sqlfiddle demo

答案 1 :(得分:0)

Python的所有MySQL驱动程序都应该能够本机处理Python日期时间对象。如果正确使用MySQL驱动程序,则永远不必将datetime对象转换为字符串。

请参阅另一个问题的答案:https://stackoverflow.com/a/775399/471671(页面上的第二个答案)。答案是指安全问题,这是这样做的最大原因,但另一个原因是类型转换变为自动,您不必担心字符串格式化日期时间对象(或其他任何东西)。