pythonmysql连接器:为什么对于同一个错误,我会根据用户得到不同的错误消息?

2024-04-27 00:59:20 发布

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

我正在连接到mysql数据库以获取一些数据。它工作正常,但我正在尝试在出错时进行错误检查。

以下是测试代码(无错误检查):

conn = mysql.connector.connect(
         user='pool',
         password='password',
         host='127.0.0.1',
         database='emsdb')
conn.close()

当我将用户更改为不正确的用户时,会出现以下错误:

^{pr2}$

这就是我所期望的。当我将其喂错主机时,也会发生同样的情况:

^{pr3}$

但是当我故意给它错误的数据库名称时,我会得到这个错误:

^{pr4}$

而不是此错误(我正确地看到,但仅在使用根用户时):

mysql.connector.errors.ProgrammingError: 1049 (42000): Unknown database 'emsdbb'

所以我的问题是,为什么“池”用户会得到与“root”用户不同的错误,因为这个错误与“root”用户完全相同(ie-错误的数据库)?

我希望返回实际的、正确的错误,但我不想使用“root”用户来实现这一点。

谢谢


Tags: 数据用户数据库hostconnectorconnect错误mysql