cursor mysql_。cursor()表示MySQL不可用

本文探讨了使用Python和mysql-connector-python库连接MySQL数据库并创建表时遇到的问题。作者在尝试执行创建表的SQL语句时遇到了MySQLConnection not available的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我试图从Python连接到一个现有的MySQL数据库,并创建一个表。代码如下:from getpass import getpass

from mysql.connector import connect, Error

def connect_db():

try:

with connect(

host="localhost",

user=input("Enter username: "),

password=getpass("Enter password: "),

database="online_movie_rating",

) as connection :

return connection

except Error as e:

print(e)

create_ratings_table_query = """

CREATE TABLE ratings (

movie_id INT,

reviewer_id INT,

rating DECIMAL(2,1),

FOREIGN KEY(movie_id) REFERENCES movies(id),

FOREIGN KEY(reviewer_id) REFERENCES reviewers(id),

PRIMARY KEY(movie_id, reviewer_id)

);

"""

cnx = connect_db()

print(cnx)

cursor = cnx.cursor()

cursor.execute(create_ratings_table_query)

cnx.commit()

当我注释最后3行时,我能够打印connection对象。但是,当我取消注释并尝试运行时,我得到以下错误:cursor = cnx.cursor()

mysql.connector.errors.OperationalError: MySQL Connection not available.

我使用Fedora33操作系统,Python3.8.5和conda环境,使用VS代码作为IDE。pip已经安装了mysql-connector-python。

谁能帮帮忙吗?做了很多谷歌搜索,但没有找到一个明确的答案。

提前致谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值