我试图使用sequence创建一个带有id
列的表,但失败了
以下是我的代码片段:
from sqlalchemy import (TEXT, Boolean, Column, Date, DateTime,
ForeignKey, Integer, Sequence, SmallInteger, String,
UniqueConstraint)
class group(Base):
__tablename__ = 'group'
id = Column(SmallInteger, Sequence('group_id'), primary_key=True)
title = Column(String, unique=True, nullable=False)
sorting = Column(SmallInteger, nullable=False, index=True)
active = Column(Boolean, nullable=False, index=True, default=True)
生成的表如下所示,但没有顺序:
CREATE TABLE group (
id SMALLINT NOT NULL,
title VARCHAR NOT NULL,
sorting SMALLINT NOT NULL,
active BOOLEAN NOT NULL,
PRIMARY KEY (id),
UNIQUE (title)
)
CREATE INDEX ix_group_sorting ON group (sorting)
CREATE INDEX ix_group_active ON group (active)
因此,如果我尝试向表中插入数据,则会显示错误消息:
sqlalchemy.exc.InternalError: (psycopg2.errors.InternalError_) missing "id" primary key column
如何使用Sequence成功创建包含列的表
sqlalchemy版本:1.0.14
python版本:3.6.6
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐