与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"(