首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MySQL中插入Python datetime.datetime对象

在MySQL中插入Python datetime.datetime对象
EN

Stack Overflow用户
提问于 2009-07-16 17:29:49
回答 8查看 267.9K关注 0票数 135

我在MySQL表中有一个date列。我想在这个列中插入一个datetime.datetime()对象。我应该在execute语句中使用什么?

我试过了:

代码语言:javascript
运行
复制
now = datetime.datetime(2009,5,5)

cursor.execute("INSERT INTO table
(name, id, datecolumn) VALUES (%s, %s
, %s)",("name", 4,now))

我收到一个错误:"TypeError: not all arguments converted during string formatting"我应该用什么来代替%s

EN

Stack Overflow用户

发布于 2009-07-16 15:08:32

您要连接到哪个数据库?我知道甲骨文对日期格式很挑剔,喜欢ISO 8601格式。

**注意:糟糕,我刚看到你在用MySQL。只需格式化日期并将其作为单独的直接SQL调用进行测试即可。

在Python中,您可以获得如下所示的ISO日期

代码语言:javascript
运行
复制
now.isoformat()

例如,Oracle喜欢这样的日期

代码语言:javascript
运行
复制
insert into x values(99, '31-may-09');

根据您的数据库,如果是Oracle,您可能需要对其执行TO_DATE:

代码语言:javascript
运行
复制
insert into x
values(99, to_date('2009/05/31:12:00:00AM', 'yyyy/mm/dd:hh:mi:ssam'));

TO_DATE的一般用法是:

代码语言:javascript
运行
复制
TO_DATE(<string>, '<format>')

如果使用另一个数据库(我看到了光标并认为是Oracle;我可能是错的),那么请检查他们的日期格式工具。对于MySQL,它是DATE_FORMAT(),对于Server,它是CONVERT。

此外,使用像SQLAlchemy这样的工具将消除这些差异,并使您的生活变得轻松。

票数 3
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1136437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档