शुरू SQLAlchemy में autoincrement
तर्क केवल True
और False
प्रतीत हो रहा है, लेकिन मैं पूर्व निर्धारित मूल्य aid = 1001
, autoincrement aid = 1002
के माध्यम से जब अगले डालने से किया जाता है सेट करना चाहते हैं।स्थापना SQLAlchemy AutoIncrement मूल्य
एसक्यूएल में, की तरह बदला जा सकता है:
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 (और मुझे लगता है कि अन्य डीबीएस) के लिए ठीक काम करता है, हालांकि, यह एसक्यूएल स्पष्ट रूप से 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) रों AUTO_INCREMENT = 1001;") execute_if (बोली = ('PostgreSQL', 'mysql')) ।) जो मुझे स्क्लाइट समस्या के आसपास ले जाता है। – coderfi