python - 使用 mysql 占位符从 sql 表中选择时出错
问题描述
我正在尝试在具有名为“名称”的列的表中选择一些值。该列包含网球运动员的姓名。我想在 python 中为每个玩家存储一些统计信息,但我无法访问该表。我不断收到“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '='Rafael Nadal'' 附近使用正确的语法”如您所见,mysql 清楚地解释了我用 %s 正确地代替了 'Rafael Nadal',但它仍然会出现错误。谁能帮我?
recordTuple = ('Rafael Nadal', )
mySql_insert_query = """SELECT `First_Serve(%)` FROM `serve2` WHERE Name =%s"""
cursor.execute(mySql_insert_query, recordTuple)
aI = cursor.fetchall()[0][0]/100
解决方案
由于%
用于在 SQL 中标记占位符,因此如果要从字面上使用它,则必须将其加倍。
mySql_insert_query = """SELECT `First_Serve(%%)` FROM `serve2` WHERE Name =%s"""
推荐阅读
- nim-lang - 即使在请求正文中提供了 400 错误请求“缺少消费者密钥”
- python - 从包含 PolyCollection 的 matplotlib 图形中提取数据
- c# - 插入列表时未显示日期时间输出
- android - 无法将 ViewPager 中的片段替换为 PopupWindow
- sed - Bash:使用 ^M 污染的字符串附加文本
- xcode - 为什么我的反应原生 iOS 应用程序在带有线程 1 的初始屏幕上崩溃:信号 SIGABRT?
- c++ - Bazel 测试自写的 tensorflow C++ 代码通过了每一个测试,不管期望值是多少
- kotlin - 如何解决错误:“FirebaseInstanceId:Google Play 服务丢失或没有正确的权限。”?
- swift - 如何将字符串发送到 url?
- swift - 如何在 tableHeaderView 中放置动态多行 UILabel