sql >> Database >  >> RDS >> Mysql

Een niet-ondertekend geheel getal definiëren in SQLAlchemy

SQLAlchemy-typen (zoals Integer ) lijken te proberen zich te houden aan de standaard SQL-gegevenstypen. Aangezien een "unsigned integer" geen standaard gegevenstype is, ziet u niet zoiets als een UnsignedInteger of Integer(unsigned=True) .

In dergelijke gevallen (waar een database zoals MySQL een datatype heeft dat zelf geen standaard datatype is of opties heeft die niet standaard zijn) kun je toegang krijgen tot deze typen/opties door dialectspecifieke typen te krijgen. Voor MySQL hebt u toegang tot deze typen via de sqlalchemy.dialects.mysql module , vind ik leuk...

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))


  1. Hoe werk ik met zeer nauwkeurige decimalen in PHP

  2. innodb; meerdere gegevensmappen

  3. SQL Server 2016:OLTP-verbeteringen in het geheugen

  4. Wijzigingstijden voor MySQL-gegevensexport