Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie bringen Sie SQLAlchemy dazu, MySQL beim Update von CURRENT_TIMESTAMP zu überschreiben?

SQLAlchemy versucht nicht, das Feld zu setzen, weil es denkt, dass sich der Wert nicht geändert hat.

Sie können SQLAlchemy anweisen, den Wert neu zuzuweisen, indem Sie das onupdate-Attribut in der Spalte:

angeben
 Column('timestamp', ..., onupdate=literal_column('timestamp'))

Dies führt dazu, dass SQLAlchemy automatisch timestamp=timestamp hinzufügt zu allen Update-Anfragen.

Wenn Sie dies einmalig für eine Instanz tun müssen, können Sie ihr die Spalte zuweisen:

foo.timestamp = literal_column('timestamp')
# or 
foo.timestamp = foo_tbl.c.timestamp