Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment définir un entier non signé dans SQLAlchemy

Types SQLAlchemy (tels que Integer ) semblent essayer de respecter les types de données SQL standard. Puisqu'un "entier non signé" n'est pas un type de données standard, vous ne verrez pas quelque chose comme un UnsignedInteger ou Integer(unsigned=True) .

Dans de tels cas (où une base de données telle que MySQL a un type de données qui n'est pas lui-même un type de données standard ou qui a des options qui ne sont pas standard), vous pouvez accéder à ces types/options en obtenant des types spécifiques au dialecte. Pour MySQL, vous pouvez accéder à ces types via sqlalchemy.dialects.mysql modules , comme ça...

from sqlalchemy.dialects.mysql import INTEGER

class Users(db.Model):
    id           = db.Column(INTEGER(unsigned=True), primary_key=True)
    UserName     = db.Column(db.String(40))
    FirstName    = db.Column(db.String(40))
    LastName     = db.Column(db.String(40))
    EmailAddress = db.Column(db.String(255))
    Password     = db.Column(db.String(40))