L'argomento autoincrement
in SQLAlchemy sembra essere solo True
e False
, ma voglio impostare il valore predefinito aid = 1001
, la via autoincrement aid = 1002
quando l'inserto successivo è fatto.Impostazione SQLAlchemy AutoIncrement iniziare valore
In SQL, può essere modificata come:
ALTER TABLE article AUTO_INCREMENT = 1001;
sto usando MySQL
e ho provato dopo, ma non funziona:
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)
Così, come posso ottenere quella? Grazie in anticipo!
Funziona! Grazie mille. – Gorthon
C'è un modo per escludere questo da essere eseguito a seconda del provider db? L'ALTER ... AUTO_INCREMENT funziona bene per MySQL (e la maggior parte degli altri dbs penso), tuttavia questo SQL apparentemente non è supportato da SQLITE. Il rimedio più vicino che ho trovato è quello di fare un insert/delete: http://stackoverflow.com/questions/692856/set-start-value-for-autoincrement-in-sqlite – coderfi
Ho risposto alla mia stessa domanda. Sfogliando il codice, ho trovato la soluzione, che è documentata da: http://docs.sqlalchemy.org/en/rel_0_8/core/ddl.html#sqlalchemy.schema.DDLElement.execute_if Quanto sopra potrebbe essere riscritto come event.listen ( articolo .__ table__, "after_create", DDL ("ALTER tABLE% (tabella) s AUTO_INCREMENT = 1001;") execute_if (dialetto = ('PostgreSQL', 'mysql')) .) che mi porta in giro per il problema sqlite. – coderfi