SQLalchemy:如何在MySQL中制作一个长框



与mysql-python一起使用sqlalchemy,我有此表:

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Index, LargeBinary
Base = declarative_base()
class Tbl(Base):
     __tablename__ = 'tbl'
     ...
     data = Column(LargeBinary())

但是,当我创建此表(使用Base.metadata.create_all(engine)(,然后在MySQL中DESCRIBE tbl;时,我得到了:

mysql> describe logs;
+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
...
| data         | blob        | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+

预期结果:我希望这是MySQL中的longblob,而不是限制为64KB

blob

使用:

data = Column(LargeBinary(length=(2**32)-1))

使大单元创建longblob类型

作为开发人员对错误报告的响应大单元类型无法在mySQL中创建longblob,并创建斑点指出:

如果您的问题只是能够渲染Longblob,而不是 在大型毕脑的默认情况下的分歧,您当然可以使用 sqlalchemy.dialects.mysql.longblob直接类型。如果你想 将其与通用大型围栏结合使用,您可以使用 grombinary((。使用_variant(longblob," mysql"(

最新更新