当前位置: 首页 > 面试题库 >

MySQL Connector无法处理参数

邹玮
2023-03-14
问题内容

我正在尝试遍历数组并将每个元素插入表中。据我所知,我的语法是正确的,我直接从Microsoft
Azure的文档中获取
了此代码。

try:
   conn = mysql.connector.connect(**config)
   print("Connection established")
except mysql.connector.Error as err:
  if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
    print("Something is wrong with the user name or password")
  elif err.errno == errorcode.ER_BAD_DB_ERROR:
    print("Database does not exist")
  else:
    print(err)
else:
  cursor = conn.cursor()
data = ['1','2','3','4','5']


for x in data:
   cursor.execute("INSERT INTO test (serial) VALUES (%s)",(x))
   print("Inserted",cursor.rowcount,"row(s) of data.")

conn.commit()
cursor.close()
conn.close()
print("Done.")

当我运行时,它到达cursor.execute(...)然后失败。这是堆栈跟踪。

追溯(最近一次通话最近):在cursor.execute中,文件“ test.py”,第29行(“ INSERT INTO
test(序列)值(%s)”,(“ test”))文件“ C:\ Users \ AlexJ \ AppData \ Local \ Programs
\ Python \ Python37 \ lib \ site-packages \ mysql \ connector \
cursor_cext.py“,第248行,在执行已准备好的= self._cnx.prepare_for_mysql(params)文件“ C:\
Users \ AlexJ在Prepare_for_mysql中,\ AppData \ Local \ Programs \ Python \
Python37 \ lib \ site-packages \ mysql \ connector \
connection_cext.py“,行538引发ValueError(”无法处理参数“)ValueError:无法处理参数


问题答案:

尝试这个:

for x in data:
    value = 'test'
    query = "INSERT INTO test (serial) VALUES %s"
    cursor.execute(query,(value,))
    print("Inserted",cursor.rowcount,"row(s) of data.")

由于您使用的是mysql模块,因此cursor.execute需要sql查询和元组作为参数



 类似资料:
  • Async MySQL Connector for .NET and .NET Core This is an ADO.NET dataprovider for MySQL. It provides implementations ofDbConnection, DbCommand, DbDataReader, DbTransaction—the classesneeded to query an

  • 我编写了一个类,其中有一个函数通过接受多个输入,但是运行结果证明它只接受第二个参数,就像接受第一个参数一样,下面是一个简化的代码: 并且输出,丢失: 到底是什么问题?我该怎么解决这个问题?

  • 我遵循这个链接的第二个答案(两个步骤)来实现视频到Youtube的上传:使用curl和api v3在Youtube上上传视频 代码工作正常,但当我执行时,我得到的响应是:状态:嵌入:true license:“YouTube”privacystatus:“unlisted”publicstatsviewable:true uploadstatus:“uploaded”

  • 我正在尝试使用制作多模块项目。您可以通过链接查看我的代码。在分支是工作解决方案,其中所有匕首类都在模块中。 现在,我正在尝试为DI根创建单独的< code>app模块。您可以在< code>develop分支中看到最新的尝试。它不起作用。我想在< code>app模块中创建我的根< code > application component 组件,并从其他模块添加< code > presentat

  • 问题内容: 下面是测试程序,包括一个汉字: 以下是结果,请看json.dumps将utf-8转换为原始数字! 为什么这坏了?还是我错了? 问题答案: 您应该阅读json.org。完整的JSON规范在右侧的白框中。 生成的JSON没有错。允许生成器生成UTF-8字符串或纯ASCII字符串,在这些字符串中使用符号转义字符。在您的情况下,Python 模块决定转义,并使用转义符号。 顺便说一句:任何符合