#!/usr/bin/python
import MySQLdb
# Open database connection
db = MySQLdb.connect("localhost","root","","project_one" )
ahg="dfas223d";
# prepare a cursor object using cursor() method
cursor = db.cursor()
#sql = """INSERT INTO emloyee(string_one)VALUES ('Mac424234')"""
# Execute the SQL command
cursor.execute("insert into emloyee(string_one) values(%s)",ahg)
# Commit your changes in the database
db.commit()
cursor.execute("SELECT * FROM emloyee")
results = cursor.fetchall()
for row in results:
print (row)
db.close()
这是有错误的代码 TypeError:字节格式化期间并非所有参数都已转换
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近): 在第13行的文件“ E:\ gatim project \ module2 \ module4 \ modle4.py” cursor.execute(“插入雇员(string_one)值(%s)”,ahg) 执行中的文件“ C:\ Users \ Raswanth \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ MySQLdb \ cursors.py”,第203行 引发ProgrammingError(str(m)) MySQLdb._exceptions.ProgrammingError:字节格式化期间并非所有参数都已转换
***************我找到了答案 cursor.execute(“插入雇员(string_one)值('%s')”%(ahg))****
答案 0 :(得分:0)
我看不到ahg
的定义位置,但是正如@Klaus D.指出的那样,您需要为此提供一个list
参数,而不是一个定义。
通过编写cursor.execute("insert into emloyee(string_one) values(%s)",ahg)
,您仅插入一个值ahg
,而这不是values(%s)
试图做的。 values(%s)
希望迭代多个值,而不是一个值,因此ahg
必须是一个列表。
@Klaus D.对cursor.execute("insert into emloyee(string_one) values(%s)", [ahg])
的建议就可以实现。