Python 如何实现两个表中的每个记录都有不同的id?

Python 如何实现两个表中的每个记录都有不同的id?,python,python-2.7,sqlalchemy,Python,Python 2.7,Sqlalchemy,我有两个从基表继承的表(SQLALCHEMY模型) 和继承的表Person和Data 如何实现每个人和数据都有不同的id,每个id对于两个表都是唯一的?(生成id时需要注意数据id,反之亦然)如果您使用的是Postgresql、Firebird或Oracle,请使用独立于两个表的序列来生成主键值。否则,您需要滚动一些手动过程,如“id”表或类似的东西-这可能很难以原子方式完成 基本上,如果我遇到这个问题,我会问为什么两个表需要这样唯一的主键值——如果主键是一个自动递增的整数,这表明它没有意义。它

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

和继承的表
Person
Data

如何实现每个人和数据都有不同的id,每个id对于两个表都是唯一的?(生成id时需要注意数据id,反之亦然)

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

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

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())