Python 防止mysql.cursor.fetchall()抛出ValueError?

Python 防止mysql.cursor.fetchall()抛出ValueError?,python,mysql,python-3.x,mysql-workbench,mysql-python,Python,Mysql,Python 3.x,Mysql Workbench,Mysql Python,这是我的代码: mysql_cur.execute("select * from view_john") mysql_data = mysql_cur.fetchall() 这是我得到的输出: ValueError: invalid literal for int() with base 0: '000551' The above exception was the direct cause of the following exception: Traceback (

这是我的代码:

mysql_cur.execute("select * from view_john")
mysql_data = mysql_cur.fetchall()
这是我得到的输出:

ValueError: invalid literal for int() with base 0: '000551'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "./xyz.py", line 36, in <module>
    mysql_data = mysql_cur.fetchall()
  File "/home/john/.local/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 490, in fetchall
    rows = self._cnx.get_rows()
  File "/home/john/.local/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 318, in get_rows
    else self._cmysql.fetch_row()
SystemError: <method 'fetch_row' of '_mysql_connector.MySQL' objects> returned a result with an error set
ValueError:基为0的int()的文本无效:“000551”
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
文件“/xyz.py”,第36行,在
mysql\u data=mysql\u cur.fetchall()
fetchall中的文件“/home/john/.local/lib/python3.8/site packages/mysql/connector/cursor_cext.py”,第490行
rows=self.\u cnx.get\u rows()
get_行中的文件“/home/john/.local/lib/python3.8/site packages/mysql/connector/connection_cext.py”,第318行
else self.\u cmysql.fetch\u行()
SystemError:返回了一个带有错误集的结果

我能做些什么来防止这种情况?执行SELECT查询时是否可以临时更改列类型?

问题在于前导零与基0组合。两者似乎都不寻常。能否显示表(或至少包含
'000551'
的列)的DDL?MySQL控制台中的数据是什么样子的?这些是库存ID,有许多以
'000'
开头,我可以将列的类型设置为string吗@蛇魔术师可以将问题包括在
SHOW CREATE TABLE your_TABLE的相关部分中和“描述你的表格;”请我认为在建议任何修改之前,有必要了解列是如何进入这种状态的。问题是前导零与基0的组合。两者似乎都不寻常。能否显示表(或至少包含
'000551'
的列)的DDL?MySQL控制台中的数据是什么样子的?这些是库存ID,有许多以
'000'
开头,我可以将列的类型设置为string吗@蛇魔术师可以将问题包括在
SHOW CREATE TABLE your_TABLE的相关部分中和“描述你的表格;”请我认为在提出任何修改建议之前,了解专栏是如何进入这种状态是值得的。