我有一张桌子
class RMMASTST(Base):
__tablename__ = 'RMMASTST'
RecorderID = Column(String(50), primary_key=True)
metering_data = relationship("StatsMetering", backref="recorder")
现在,我想创建第二个表:
class StatsMetering(Base):
__tablename__ = 'StatsMetering'
RecorderID = Column(String(50), ForeignKey(RMMASTST.RecorderID), primary_key=True)
但是,当我执行脚本时,出现以下错误:
sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000] [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Column 'RMMASTST.RecorderID' is not the same length or scale as referencing column 'StatsMetering.RecorderID' in foreign key 'FK__StatsMete__Recor__4B7734FF'. Columns participating in a foreign key relationship must be defined with the same length and scale. (1753) (SQLExecDirectW)")
有人知道我为什么老是犯这个错误吗?显然,这些都是剧本的摘录。所有表都是使用以下方法创建的:
Base.metadata.create_all(Engine)
发布的代码工作正常,如果出现这种类型的错误,只需确保没有创建可能具有不同长度的表即可。你知道吗
相关问题 更多 >
编程相关推荐