【发布时间】:2019-11-11 09:13:17
【问题描述】:
我必须创建一个带有自动增量列的表。我正在创建一个以 sqlite 作为背景的 web 应用程序,sql alchemy 是 orm 层。Python 和 Flask 作为前端。我正在创建一些部门列表,部门 id 应该自动递增。当我尝试通过 UI 添加部门时,我不提供部门 id。因为部门 id 是主键,应该自动递增。我已经添加了部门名称和部门工作通过 UI 没有任何错误。但是当我尝试列出部门列表时出现错误。 AttributeError: 'NoneType' 对象没有属性 'department_id'
我尝试的是,我的 sqlite
create table Departments(department_id primarykey integer autoincrement,department_name char,department_jobs char);
当我尝试创建此架构时,我收到一个名为“自动增量附近的语法错误”的错误
我尝试使用大写字母、auto_increment、auto increment。
什么都没有
我的 sql 炼金术是这样的
class Departments(db.Model):
"Adding the department"
department_id = db.Column(db.Integer,primary_key=True)
department_name = db.Column(db.String(50),nullable=False)
department_jobs = db.Column(db.String(40),nullable=False)
我在这里期待的是如何在 sqllite 和 sqlalchemy 中进行自动增量,以便我可以在前端和后端使用它。
【问题讨论】:
-
请注意,您只需要
INTEGER PRIMARY KEY并且在插入行以获取自动生成的值时不为该列提供值。AUTOINCREMENT关键字只是更改了用于计算数字的算法,并且确实建议不要使用它,除非您明确需要它的特定行为。详情请见sqlite.org/autoinc.html。
标签: sqlite