Mik*_*sen 2 python mysql python-2.7 pymysql
插入语句如下所示:
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))
Run Code Online (Sandbox Code Playgroud)
当我尝试使用executemany发送批处理时,出现此错误:
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
Run Code Online (Sandbox Code Playgroud)
我试图逃离 Y 以查看这是否是开始的正确位置,但这并没有帮助。有任何想法吗?
Escape%用于指定日期格式;这样它就不会被处理Cursor.execute*(...)
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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
940 次 |
| 最近记录: |