我在使用pymysql和python运算符时遇到了一些麻烦。我对python运算符了解不多。我想将一些值插入数据库。代码:import pymysqlconn = 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";
3 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
根据源代码,paramstyle
is是format
,因此您需要进行更改...
cur.execute("INSERT INTO ... VALUES (?,?,?,?,?,?)", v)
...到...
cur.execute("INSERT INTO ... VALUES (%s,%s,%s,%s,%s,%s)", v)
如果您使用的是事务存储引擎(例如InnoDB),则必须conn.commit()
在执行INSERT
查询后通过调用来显式提交事务。
添加回答
举报
0/150
提交
取消