的autoincrement
論點SQLAlchemy的似乎只有True
和False
,但我想設置預先定義的值aid = 1001
,過自動增量aid = 1002
下一次插入完成。設置SQLAlchemy的自動增量啓動值
在SQL中,是可以改變的,如:
ALTER TABLE article AUTO_INCREMENT = 1001;
我使用MySQL
,我曾嘗試以下,但它不工作:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Article(Base):
__tablename__ = 'article'
aid = Column(INTEGER(unsigned=True, zerofill=True),
autoincrement=1001, primary_key=True)
所以,我怎樣才能得到那?提前致謝!
它的工作原理! 非常感謝。 – Gorthon
有沒有辦法根據數據庫提供程序來排除此問題? ALTER ... AUTO_INCREMENT適用於MySQL(以及我認爲的大多數其他dbs),但是,SQL顯然不支持SQLITE。我能找到的最接近的解決方法是做一個插入/刪除:http://stackoverflow.com/questions/692856/set-start-value-for-autoincrement-in-sqlite – coderfi
回答我自己的問題。通過代碼戳,我找到了解決辦法,這是由記錄:http://docs.sqlalchemy.org/en/rel_0_8/core/ddl.html#sqlalchemy.schema.DDLElement.execute_if 上述可改寫爲 event.listen( 第.__ table__, 「after_create」, DDL( 「ALTER TABLE%(表)■AUTO_INCREMENT = 1001;」)execute_if(方言=( '的PostgreSQL', 'MySQL的')) 。) 這讓我圍繞sqlite問題。 – coderfi