我有一个Pyramid应用程序,我正在使用SQLAlchemy和MySQL。对于我想要作为boolean处理的数据库字段,我一直在SQLAlchemy端使用“BIT”数据类型,在MySQL端使用BIT(1)。
这一切都运行良好,但我正在检查我的webhost上的一些新更新的代码,他们的phpMyAdmin版本比我在本地使用的版本更新;我正在浏览一个有BIT字段的表,而在较新的phpMyAdmin上没有出现任何数据 - 它只是空白。在我的本地实例上,BIT字段显示为0或1.如果我尝试内联编辑托管的phpMyAdmin,它将不会采取我尝试的任何值。我确实尝试了我的应用程序代码,它似乎能够切换真/假值。
让我感到疑惑 - 通过这种设置,我应该以不同的方式接近它吗? SQLAlchemy确实支持布尔值,看起来它更直观和合适,我应该使用它并将MySQL字段设置为TINYINT吗?
在SQLAlchemy和MySQL之间处理布尔值的传统方法是什么?
答案 0 :(得分:1)
MySQL有BOOL
类型(这是SQLAlchemy使用的类型),所以我不确定你为什么不使用它? TINYINT
显然是it is an alias。
from sqlalchemy import Boolean
你应该好好去。