【发布时间】:2010-11-22 10:33:20
【问题描述】:
假设我创建了一个这样的表:
table = Table('mytable', metadata,
Column('a', Integer, primary_key=True),
Column('b', Integer, primary_key=True),
)
table.create()
是否保证主键是(a,b)而不是(b,a)?
【问题讨论】:
标签: python sqlalchemy
假设我创建了一个这样的表:
table = Table('mytable', metadata,
Column('a', Integer, primary_key=True),
Column('b', Integer, primary_key=True),
)
table.create()
是否保证主键是(a,b)而不是(b,a)?
【问题讨论】:
标签: python sqlalchemy
保证,是的,因为 Table 中的 Column 对象是有序的。或者如果你真的想要明确,请使用PrimaryKeyContraint()。
【讨论】:
使用 echo=True 并将您的与交换的版本进行比较?那应该会给出答案。
【讨论】:
是的。 如果生成的 DDL 没有给出一致的结果,那将是一件非常糟糕的事情。
【讨论】: