用Python创建MySQL游标函数

2024-09-30 01:37:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数来初始化MySQL+Python连接。以下是我目前所掌握的情况:

import mysql.connector

MySQLConfig = {
  'user': 'user',
  'password': 'password',
  'host': 'localhost',
  'database': 'DB',
  'raise_on_warnings': True,
}

# Initialize MySQL Connection + Cursor
def createCursor():
    cnx = mysql.connector.connect(**MySQLConfig)
    cursor = cnx.cursor()
    return cursor

cursor = createCursor()

query = 'SHOW tables'
cursor.execute(query)

for row in cursor:
    print(row)

如果不包含在createCursor()函数中,代码将正常运行。一旦我把它放在一个,我收到以下错误:

^{pr2}$

你知道我该怎么做吗?我尝试过只返回连接并在函数外使用光标,这也会导致同样的错误。在


Tags: 函数importconnector错误mysql情况passwordquery
1条回答
网友
1楼 · 发布于 2024-09-30 01:37:33

由于您已将cnx设置为局部变量,因此它在函数末尾被垃圾回收。
这样做吧

cnx = mysql.connector.connect(**MySQLConfig)
# Initialize  Cursor
def createCursor():
    return cnx.cursor()

但那是个坏消息我的主意方法应该是这样的

^{pr2}$

相关问题 更多 >

    热门问题