Python cdecimal.Decimal和SQLAlchemy\u mysql\u异常。警告
我正在构建一个django应用程序,它在MySQL上使用SQLAlchemy。我使用cdecimal而不是内置的十进制。 在我的一个表中,有一个数值列(Python cdecimal.Decimal和SQLAlchemy\u mysql\u异常。警告,python,mysql,sqlalchemy,decimal,Python,Mysql,Sqlalchemy,Decimal,我正在构建一个django应用程序,它在MySQL上使用SQLAlchemy。我使用cdecimal而不是内置的十进制。 在我的一个表中,有一个数值列(value=column(Numeric(10,5))。 在django应用程序中为此表创建新条目时,使用以下SQL echo: INSERT INTO my_table (date, value) VALUES (2012-03-11, 875334.670) 这会导致在提交时引发以下异常: _mysql_exceptions.Warning
value=column(Numeric(10,5)
)。
在django应用程序中为此表创建新条目时,使用以下SQL echo:
INSERT INTO my_table (date, value) VALUES (2012-03-11, 875334.670)
这会导致在提交时引发以下异常:
_mysql_exceptions.Warning: Out of range value for column 'value' at row 1
当我在mysql客户机中运行相同的查询时,没有任何问题。
我甚至尝试将添加条目的代码包装为:
import warnings
from sqlalchemy import exc as sa_exc
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=sa_exc.SAWarning)
发生了什么事
谢谢!试试这个:
INSERT INTO my_table (date, value) VALUES ('2012-03-11', 875334.670)
试试这个:
INSERT INTO my_table (date, value) VALUES ('2012-03-11', 875334.670)
问题是:
>>> import cdecimal
>>> cdecimal.Decimal(1.23)
Decimal('1.229999999999999982236431605997495353221893310546875')
>>> cdecimal.Decimal('1.23')
Decimal('1.23')
>>>
问题是:
>>> import cdecimal
>>> cdecimal.Decimal(1.23)
Decimal('1.229999999999999982236431605997495353221893310546875')
>>> cdecimal.Decimal('1.23')
Decimal('1.23')
>>>
请给出在我们的系统中产生问题的例子好吗?请给出在我们的系统中产生问题的例子好吗?嘿-谢谢,但我并没有实际执行SQL命令-SQLAlchemy在为我做这件事,上面的查询得到了SQLAlchemy的回应..嘿-谢谢,但我并没有实际执行SQL命令-SQLAlchemy是为我做的,上面的问题得到了SQLAlchemy的回应。。