Closed
Description
sample code
#!/usr/bin/env python
from __future__ import print_function
import pymysql
from decimal import Decimal
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='')
cur = conn.cursor()
cur.execute('CREATE DATABASE IF NOT EXISTS testdb ')
cur.execute('DROP TABLE IF EXISTS testdb.testtable')
cur.execute('CREATE TABLE testdb.testtable(num1 decimal(40, 25))')
sql = cur.mogrify('INSERT INTO testdb.testtable VALUES(%s)', Decimal('0.0000001111222233388882222'))
print(sql)
cur.execute(sql)
cur.execute("SELECT * FROM testdb.testtable")
for row in cur:
print(row)
cur.close()
conn.close()
result
INSERT INTO testdb.testtable VALUES(1.111222233388882222E-7)
(Decimal('1.111222233388882200E-7'),)
Desired result
INSERT INTO testdb.testtable VALUES('1.111222233388882222E-7')
(Decimal('1.111222233388882222E-7'),)
or
INSERT INTO testdb.testtable VALUES(0.0000001111222233388882222)
(Decimal('1.111222233388882222E-7'),)
modify converters.py
def escape_object(value, mapping=None):
return "'" + str(value) + "'"
or
def escape_object(value, mapping=None):
return '{:f}'.format(value)
How is this?
Metadata
Metadata
Assignees
Labels
No labels