当我执行我的程序时,我有这个错误:
query = query % tuple([db.literal(item) for item in args]) TypeError: not all arguments converted during string formatting
我试图解决它,但没有任何效果。这是我的代码。 谢谢你的帮助。
con = mdb.connect('localhostt', '****', '*********', 'credentials');
with con:
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS Data")
cur.execute("CREATE TABLE Data(Id INT PRIMARY KEY AUTO_INCREMENT, \
Name VARCHAR(25))")
name1 = "Paste"
country_code = 'PSE'
district = 'Someyork'
population = 10008
cur.execute("INSERT INTO Data(Name) VALUES(%s) ",(name1))
con.comit()
答案 0 :(得分:0)
你想要
cur.execute("INSERT INTO Data(Name) VALUES(%s)", (name1,))
注意(name1,)
中的额外逗号 - 需要它才能使它成为一个元组。没有逗号,它与
cur.execute("INSERT INTO Data(Name) VALUES(%s)", name1)
由于字符串也是序列,连接器会遍历name1
中的每个字符,因此会出错。