【发布时间】:2013-06-13 12:27:30
【问题描述】:
我在使用 pymysql 和 python 运算符时遇到了一些麻烦。 不过,我对 python 运算符了解不多。
我想在数据库中插入一些值。代码:
import pymysql
conn = pymysql.connect(host='127.0.0.1', unix_socket='/Applications/MAMP/tmp/mysql/mysql.sock', user='root', passwd='root', db='db2', charset='utf8')
cur = conn.cursor()
v = (123 , 'foobarfoobar', 'foo', 1241, 3, 132 )
cur.execute("INSERT INTO celebs(num_id, Text, Handle, Followers, RT, Timestamp) VALUES (?,?,?,?,?,?)", v)
记录一下mySQL结构是INT (PRI), INT, TEXT, VARCHAR, INT, INT, VARCHAR。
我运行它,我得到TypeError: not all arguments converted during string formatting
任何细节如何解决它,可能还有一些解释操作员如何在 python 中工作。
我认为在 php 中更容易:$a = 22; echo "$a days";
更新:
我直接使用 Insert into 还是没有插入数据:
cur.execute("INSERT INTO celebs (num_id, Text, Handle, Followers, RT, Timestamp) VALUES (123 , 'foobarfoobar', 'foo', 1241, 3, 132 );" )
【问题讨论】:
-
v = ('123' , 'foobarfoobar', 'foo', '1241', '3', '132' ) 在数字周围添加引号将使它们成为字符串,并且应该避免您的问题。 docs.python.org/2/library/stdtypes.html
标签: python mysql operators pymysql