文章内容

2021/6/18 10:38:03,作 者: 黄兵

SQLAlchemy Boolean 与 BOOLEAN的区别

最近在使用SQLAlchemy模型建表的时候,定义Bool值的时候,编辑器提示可以是BooleanBOOLEAN,这两种定义有什么区别呢?

Boolean是一个泛型类型

泛型类型指定可以读取、写入和存储特定类型 Python 数据的列。SQLAlchemy 将在发出CREATE TABLE语句时选择目标数据库上可用的最佳数据库列类型。

BOOLEANSQL类型

此类类型指的是属于 SQL 标准的类型,或者可能在数据库后端的子集中找到的类型。与“通用”类型不同,SQL 标准/多供应商类型不能保证在所有后端上工作,并且只会在那些通过名称明确支持它们的后端上工作。也就是说,该类型将始终在 DDL 中发出其确切名称CREATE TABLE并发出。
通过上面两个类型可以看出,只要是SQLAlchemy数据类型大写的都是SQL类型,例如:ARRAYBIGINT...


参考资料:

1、SQLAlchemy Boolean vs BOOLEAN

2、SQL Standard and Multiple Vendor Types

3、Generic Types

分享到:

发表评论

评论列表