0

我有两个从基表继承的表(SQLALCHEMY 模型)

class Base(object):
    def __tablename__(self):
        return self.__name__.lower()

    id = Column(Integer, primary_key=True, nullable=False)
    utc_time = Column(Integer, default=utc_time(), onupdate=utc_time())
    datetime = Column(TIMESTAMP, server_default=func.now(), onupdate=func.current_timestamp())

和继承的表Person以及Data 如何实现每个人和数据都有不同的id,每个id对于两个表都是唯一的?(生成 id 时要知道数据 id 的人,反之亦然)

4

1 回答 1

1

如果您使用的是 Postgresql、Firebird 或 Oracle,请使用独立于两个表的序列来生成主键值。否则,您需要滚动一些手动过程,例如“id”表或类似的东西 - 这可能很难以原子方式执行。

基本上,如果我遇到这个问题,我会问为什么两个表需要这样的唯一主键值 - 如果主键是一个自动递增的整数,那表明它没有意义。它的唯一目的是为单个表提供唯一键。

于 2013-03-29T14:39:15.913 回答