我正在连接到mysql数据库以获取一些数据。它运行正常,但我正在尝试在出现问题时构建错误检查。
这是测试代码(没有错误检查):
conn = mysql.connector.connect(
user='pool',
password='password',
host='127.0.0.1',
database='emsdb')
conn.close()
当我将用户更改为不正确的用户时,我收到以下错误:
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'pooll'@'localhost' (using password: YES)
这是我的预期。当我把错误的主机喂它时也一样:
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'haarp:3306' (-2 Name or service not known)
但是当我故意给它输入错误的数据库名称时,我收到了这个错误:
mysql.connector.errors.ProgrammingError: 1044 (42000): Access denied for user 'pool'@'%' to database 'emsdbb'
而不是此错误(我正确看到但仅在使用root用户时):
mysql.connector.errors.ProgrammingError: 1049 (42000): Unknown database 'emsdbb'
所以我的问题是为什么#'汇集'用户得到的错误不同于' root'用户完全相同的错误(即 - 错误的数据库)?
我想要返回实际的,正确的错误,但我不想使用' root'用户要做到这一点。
由于