首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用PyMySQL插入日期

无法使用PyMySQL插入日期
EN

Stack Overflow用户
提问于 2017-06-30 12:12:57
回答 1查看 1.1K关注 0票数 2

insert语句如下所示:

代码语言:javascript
复制
INSERT INTO events(ts, domain, url, lat_lon, sha1_hash)
VALUES (STR_TO_DATE(%s, '%Y-%m-%dT%H:%i:%sZ'), %s, %s, %s, sha1(url))

当我尝试使用executemany发送批处理时,会得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/vagrant/workspace/gdelt/gdelt_all.py", line 41, in <module> read_files()
  File "/vagrant/workspace/gdelt/gdelt_all.py", line 33, in read_files cursor.executemany(INSERT_FOUR, four)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 195, in executemany self.rowcount = sum(self.execute(query, arg) for arg in args)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 195, in <genexpr> self.rowcount = sum(self.execute(query, arg) for arg in args)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 164, in execute query = self.mogrify(query, args)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 143, in mogrify query = query % self._escape_args(args, conn)
ValueError: unsupported format character 'Y' (0x59) at index 83

我试着逃离Y号,看看这是否是正确的开始,但这并没有帮助。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-30 12:15:15

用于指定日期格式的转义%;使其不被Cursor.execute*(...)处理

代码语言:javascript
复制
insert into events(ts, domain, url, lat_lon, sha1_hash) values 
(STR_TO_DATE(%s, '%%Y-%%m-%%dT%%H:%%i:%%sZ'), %s, %s, %s, sha1(url))
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44846253

复制
相关文章

相似问题

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