python - 使用 Python 使用 SELECT 语句的 SQL 中的嵌套循环
问题描述
编程新手并试图找出一个任务。我必须用 Python 做一个只有 select 语句(没有 join 语句)的嵌套循环。有点不知所措如何做到这一点。
以下是我一直在使用的代码。但是在他们说没有定义名称 course_no 的地方不断收到错误消息。
如果这是一个 n00b 问题,请提前抱歉!
query = ("SELECT first_name, last_name FROM instructor")
query2 = ("SELECT course_no, section_no FROM section")
try:
cursor.execute(query)
print("Result set returned")
for (first_name, last_name) in cursor:
print(first_name + " " + last_name)
for (first_name, last_name) in cursor:
cursor.execute("SELECT course_no, section_no FROM section")
print(course_no + " " + section_no)
cursor.close()
except mysql.connector.Error as err:
print(err)
解决方案
我会尽我所能回答你的问题。course_no 确实没有定义,因为它包含在游标中。尝试再次循环游标,但这次是 course_no 和 section_no。另外我建议您为每个查询使用不同的游标,因为在下一个循环中,游标不再具有外部循环的值。展示一些代码:
try:
cursor1.execute(query)
print("Result set returned")
for (first_name, last_name) in cursor1:
print(first_name + " " + last_name)
cursor2.execute("SELECT course_no, section_no FROM section")
for (course_no, section_no) in cursor2:
print(course_no + " " + section_no)
cursor2.close()
cursor1.close()
except mysql.connector.Error as err:
print(err)
推荐阅读
- scrapy - 如何在scrapy上从另一只蜘蛛中调用一只蜘蛛
- javascript - 链接点击后如何在url中隐藏id?
- javascript - UserScript 使 Textarea 框可扩展
- javascript - Owl Carousel with Magnific Popup - 弹出窗口甚至不显示,不知道我做错了什么
- assembly - 为什么要为缓冲区溢出将偏移量的值增加 4?
- ios - Xcode 版本 12.2 未部署在 iOS 14.1 设备上。“xxx 的 iPhone 不可用。”
- sql - 如何按结果表从组中仅选择一组行?
- android - 安装前如何在 AVD Manager 上检查设备的 Android 目标平台?
- python - 如何在 Python 的命名空间下创建类似 C 的常量对象
- javascript - 在 react JS 组件文件中导入 d3